Software sudo dapat diperoleh di www.courtesan.com/sudo. Pada saat tulisan ini dibuat versi terbarunya adalah 1.6.3p7.
Setelah anda berhasil mengambil software tersebut, anda harus membongkarnya :
$ tar xvzf sudo-1.6.3p7.tar.gz
kemudian akan tercipta sebuah direktori bernama sudo-1.6.3p7. Pindahlah ke direktori tersebut :
$ cd sudo-1.6.3p7
Lalu selanjutnya yang perlu kita lakukan adalah melakukan configure dan membuild program sudo.
Berikut ini adalah langkah-langkah yang perlu dilakukan :
./configure --with-all-insults --enable-log-host
Perintah di atas akan mengkonfigurasi sudo anda dengan :
--with-all-insults include all the sudo insult sets
--enable-log-host Log the hostname in the log file
Anda dapat melihat option configure yang lain dengan cara memberikan perintah :
$ ./configure --help
Kemudian anda dapat membuild sudo dengan memberikan perintah :
$ make
Berikut ini adalah cuplikan proses make tersebut :
gcc -c -I. -I. -g -O2 -D_PATH_SUDOERS=\"/etc/sudoers\" -D_PATH_SUDOERS_TMP=\"/etc/sudoers.tmp\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 check.c
...
gcc -o visudo visudo.o fileops.o sudo.tab.o lex.yy.o alloc.o defaults.on
Jika anda ingin menginstalasinya ke sistem anda, dapat dilakukan dengan cara :
su
Password:
[root@stealth sudo-1.6.3p7]# make install
/bin/sh ./mkinstalldirs /usr/local/bin /usr/local/sbin /etc /usr/local/man/man8 /usr/local/man/man5
/bin/sh ./install-sh -c -o 0 -g 0 -m 4111 -s sudo /usr/local/bin/sudo
/bin/sh ./install-sh -c -o 0 -g 0 -m 0111 -s visudo /usr/local/sbin/visudo
/bin/sh ./install-sh -c -o 0 -g 0 -m 0444 ./sudo.man /usr/local/man/man8/sudo.8
/bin/sh ./install-sh -c -o 0 -g 0 -m 0444 ./visudo.man /usr/local/man/man8/visudo.8
/bin/sh ./install-sh -c -o 0 -g 0 -m 0444 ./sudoers.man /usr/local/man/man5/sudoers.5
Perintah di atas akan menginstalasikan software sudo anda ke direktori /usr/local. Untuk merubahnya pada saat melakukan configure, anda harus memberikan option --prefix=/direktori_yang_anda_inginkan.
Konfigurasi
Konfigurasi untuk sudo disimpan dalam sebuah file /etc/sudoers. Untuk dapat melakukan konfigurasi file ini, anda harus memiliki akses root dan menjalankan program visudo.
File /etc/sudoers dapat dibagi menjadi dua buah bagian : bagian alias dan bagian privilege. Bagian alias dipakai untuk kemudahan saja. Sedangkan bagian privilege digunakan untuk memberikan ijin.
|
Alias Type |
Alias Syntax |
Keterangan |
|---|---|---|
|
Host_Alias |
HOSTALIAS= |
Daftar nama host, alamat IP, network/netmask, dan/atau netgroup. |
|
Runas_Alias |
RUNASALIAS= |
Daftar user, group, dan/atau netgroup. |
|
Cmnd_Alias |
CMNDALIAS= |
Daftar perintah atau direktori. Harus diberikan secara absolut. Ketika sebuah perintah diberikan, argumen dan flag-nya dapat pula disertakan. Ketika sebuah direktori dispesifikasikan, ia menyertakan semua perintah dalam direktori tersebut. |
|
User_Alias |
USERALIAS= |
Daftar user, group, dan/atau netgroup. |
Bentuk umum entri dalam file /etc/sudoers secara sederhana adalah sebagai berikut :
access_group host_type=[(runas_type, runas_type,...)] cmnd_type
Berikut ini adalah sebuah contoh file /etc/sudoers :
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write
# a sudoers file.
# Host alias specification
# User alias specification
User_Alias USERS = john,doe
# Runas aliases specification
Runas_Alias ADMIN = root
# Cmnd alias specification
Cmnd_Alias HALT = /sbin/halt, /sbin/shutdown -h *
Cmnd_Alias REBOOT = /sbin/reboot, /sbin/init 6, /sbin/shutdown -r *
# User privilege specification
root ALL=(ALL) ALL
USERS ALL=(ADMIN) HALT, REBOOT
User_Alias
Bagian ini hanya menetapkan nama alias untuk user-user yang akan diberikan privilege. User_Alias membutuhkan kata kunci User_Alias. Dalam contoh di atas, john dan doe masuk ke dalam alias USERS. Nama alias boleh apa saja, kecuali ALL yang merupakan kata kunci reserved.
Runas_Alias
Pada contoh di atas, ada satu contoh alias runas yang membutuhkan keyword Runas_Alias. Ia menspesifikasikan daftar user, dalam hal ini adalah root.
Command Alias
Alias-alias ini digunakan untuk menspesifikasikan daftar perintah-perintah dan membutuhkan kata kunci Cmnd_Alias. Dalam contoh di atas, alias HALT dan REBOOT akan terekspansi ke perintah /sbin/halt dan /sbin/reboot.
Spesifikasi Privilege
Bagian ini menentukan siapa yang memperoleh privilege. Dalam contoh di atas, root dapat menjalankan sembarang perintah sebagai sembarang user pada host sembarang. Sedangkan USERS dapat menjalankan perintah REBOOT dan HALT hanya bila mereka sebagai root.
Daftar Pustaka
sudo manual page. Dapat diakses dengan mengetikkan man sudo.
Scott Mann dan Ellen L. Mitchell, Linux System Security, New Jersey : Prentice-Hall, 2000.