Tanya :

Apa guna file sudoers ? Bagaimana cara mengedit file sudoers ?

Jawab :

Karikatur tentang Sudo (sumber : go2linux.org)

Dua manfaat dari penggunaan sudo setidaknya adalah

  • Keamanan dan wewenang
  • Adanya log laporan akan hal apa saja yang dilakukan oleh pengguna.

Kita pun dapat melakukan pengeditan pada file sudoers yang terdapat di direktori /etc

Untuk keamanan, jangan mengedit langsung file tersebut dengan editor seperti gedit atau nano, gunakan visudo, karena visudo akan otomatis memberitahukan jika ada kesalahan syntax pada file yang jika dibiarkan dapat mengakibatkan error pada sistem anda.

Jalankan visudo dengan perintah di terminal :

sudo visudo

Anda akan melihat isi file /etc/sudoers seperti berikut ini :

# /etc/sudoers 

# This file MUST be edited with the 'visudo' command as root. 

# See the man page for details on how to write a sudoers file. 

Defaults env_reset 
# Host alias specification 
# User alias specification 
# Cmnd alias specification 
# User privilege specification 

root ALL=(ALL) ALL 
www-data ALL= NOPASSWD:ALL 
rezaervani ALL=(ALL) ALL 


# rezaervani ALL= NOPASSWD:ALL 
# Allow members of group sudo to execute any command after they have 
# provided their password 
# (Note that later entries override this, so you might need to move 
# it further down) 
%sudo ALL=(ALL) ALL 
#
#includedir /etc/sudoers.d 
# Members of the admin group may gain root privileges 
%admin ALL=(ALL) ALL

Sebagaimana yang anda lihat, ada baris bertuliskan

root ALL=(ALL) ALL

Ini menunjukkan bahwa user root dapat mengeksekusi dari SEMUA (ALL) terminal, berlaku sebagai pengguna MANA SAJA (ALL) dan menjalankan perintah APA SAJA (ALL)

Jadi bagian pertama adalah nama pengguna, yang kedua adalah terminal mana yang dapat digunakan oleh pengguna, bagian ketiga adalah sebagai pengguna siapa seorang pengguna dapat bertindak dan bagian keempat adalah perintah apa yang bisa dia jalankan.

Mari kita buatkan contoh lain.

Misalnya kita menambahkan baris :

operator ALL= /sbin/poweroff

Ini membuat user yang bernama “operator” dapat menjalankan dari terminal MANA SAJA (ALL) untuk perintah /sbin/poweroff

Anda juga dapat membuat alias sebagai berikut :

  • users –> User_Alias
  • Menjalankan perintah sebagai pengguna lain –> Runas_Alias
  • host –> Host_Alias
  • Perintah –> Cmnd_Alias

Berikut Contohnya :

User_Alias OPERATORS = aku, dia, kamu 
Runas_Alias OP = root, operator 
Host_Alias OFNET = 10.1.2.0/255.255.255.0 
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm

Sebagaimana yang anda lihat, OPERATORS alias memasukkan pengguna aku, dia dan kamu, OP alias bertindak sebagai pengguna root dan operator, OFNET alias memasukkan jaringan 10.1.2.0 (semua kelas C), dan perintah PRINTING mewakili perintah lcp dan lprm.

Di dalam file sudoers anda dapat melakukannya seperti contoh berikut :

User_Alias OPERATORS = joe, mike, jude 
Runas_Alias OP = root, operator 
Host_Alias OFNET = 10.1.2.0/255.255.255.0
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm 

OPERATORS ALL=ALL 
#Ini berarti semua pengguna yang diwakili oleh alias OPERATOR dapat menjalankan perintah apa saja 
#dari terminal mana saja. 

gue ALL=(OP) ALL 
# Ini berarti pengguna gue dapat menjalankan perintah apa saja dari terminal apa saja dan bertindak 
# sebagai pengguna di group OP (root atau operator) 

user2 OFNET=(ALL) ALL 
# pengguna user2 dapat menjalankan perintah apa saja dari mesin yang ada di jaringan OFNET 
# sebagai user siapa saja. 

user3 ALL= PRINTING 
# pengguna user3 dapat menjalankan lpc dan lprm dari mesin mana saja. 

rezaervani ALL=(ALL) ALL 
# pengguna rezaervani dapat menjalankan perintah apa saja dari mesin mana saja 
# bertindah sebagai user mana saja (seperti ubuntu)

Jika anda tidak ingin dimintakan password untuk melakukan perintah tersebut tambahkan baris :

rezaervani ALL=(ALL) ALL NO PASSWD: ALL

Catatan :

  • Untuk menginsert baris baru di vi, ketikkan “o”
  • Tekan esc untuk keluar dari mode pengeditan
  • Untuk keluar dari vi dan menyimpan hasil perubahan ketikkan “:x”

Demikian, selamat bereksperimen

Iklan