Melanjutkan tulisan-tulisan saya kemaren dengan tujuan membuat slackware sebagai distro linux desktop yang mudah serta menarik. Salah satu alasan mengapa ubuntu banyak peminatnya karena kemudahan yang di tawarkan dalam hal administrasi sistem (maintenace dan konfigurasinya)… sebenarnya secara umum konfigurasi dan maintenace sistem di linux semuanya hampir sama… yang berbeda adalah interface konfigurasi sistem yang di tawarkan masih-masih disrto… karena saya biasanya malakukan segala sesuatunya melalui bash shell jadi saya disini ingin melakukan sedikit trik aza seh supaya konfigurasi sistem di slackware jadi lebih terkesan mudah dan singkat dalam hal permission untuk user biasa dan super user (root)…
Biasanya di Slackware kita jika ingin melakukan konfigurasis sistem atau segala sesuatu yang berhubungan dengan sistem linux kita, harus dilakukannya sebagai super user / root. Sedangkan di Ubuntu, kita dapat menjalankan root command untuk memaintenace atau mengkonfigurasi sistem linux hanya dengan menggunakan perintah sudo yang dilanjutkan dengan root command dari user biasa. Perintah sudo disini berfungsi untuk menjalankan root command dari user biasa di mana user tersebut telah diberi izin untuk menjalankan root command melalui perintah sudo.
Oke, sedikit trik untuk menjalankan root command di Slackware agar user yang kita beri izin dapat melakukan segala sesuatunya (seperti root) terhadap sistem, tujuannya agar mempermudah user yang diizinkan selain root dapat memaintenace dan mengkonfigurasi sistem tampa repot-repot harus login sebagai user root terlebih dahulu, tetapi hanya dengan perintah sudo layaknya seperti administrasi sistem di ubuntu 😀
Konfigurasi User yang diberi hak akses untuk melakukan perintah “sudo”
Untuk melakukan ini kita harus mengedit file “sudoers” yang berada pada directory /etc. Tetapi kita tidak direkomendasikan untuk menggunakan editor favorite kita, tetapi lebih disarankan menggunakan “visudo” untuk mengedit file tersebut. Sebelumnya silahkan login sebagai root terlebih dahulu sebelum kita mengedit file ini :
aditya@aditya:$ su
Password:
root@aditya:#
Kemudian lakukan perintah untuk mengedit file sudoers :
root@aditya:# visudo
Perintah pada editor ini sama seperti perintah yang ada pada editor vim, sekarang fokus pada bagian ini :
# User privilege specification
root ALL = (ALL) ALL
aditya ALL = (ALL) ALL –> tambahkan user yang akan diberi izin untuk menjalankan root command
Kemudian simpan dan keluar dari editor, dengan menekan Esc kemudian : w q
Sekarang selesai sudah kita memberi izin kepada user aditya untuk menjalankan semua perintah root melalui perintah sudo. Dalam penerapannya nanti, perintah sudo akan meminta untuk memasukan password, dan silahkan masukan password dari user biasa yang menjalankan perintah sudo tersebut. Namun saat menggunakan perintah sudo kita harus mengetikkan secara lengkap berserta path dari perintah tersebut berada, misalnya sebagai contoh, saya dari user aditya ingin melihat ethernet (NIC) yang aktif dengan perintah “ifconfig” dan saya tidak bisa langsung menjalankannya dengan perintah seperti biasa :
aditya@aditya:$ sudo ifconfig
Password:
-bash: ifconfig: command not found
Bash akan memberitahukan perintah tidak diketemukan, jadi jika kita ingin menggunakan perintah ifconfig kita harus menjaankannya berserta path tempat perintah tersebut berada, dalam hal ini perintah ifconfig disimpan dalam directory /sbin, jadi perntah ifconfig harus dituliskan seperti ini :
aditya@aditya:$ sudo /sbin/ifconfig
Ini tentu akan sedikit merepotkan bagi kita, jika setiap kali menjalankan root command dari perintah sudo harus mengetikkan beserta path-pathnya kan ? Oke kita telusui trik berikutnya agar setiap kali kita menjalankan perintah sudo dapat langsung dengan perintah sebenarnya saja, tampa harus megetikkan bersama pathnya…
Selidik punya selidik ternyata yang mengatur path dari masing-masing user (user biasa dan super user) ternyata berada pada file “profile” yang ada pada directory /etc.
Sebenarnya ada 2 cara untuk trik ini, yang pertama dengan mengedit langsung file /etc/profile dengan editor favorite kamu kemudian tambahkan path-path penyimpanan perintah-perintah root command di bagian “Set the default system $PATH :”
aditya@aditya:$ sudo vim /etc/profile
Fokus pada bagian ini, dan kemudian tambahkan path-path root command :
# Set the default system $PATH:
PATH=”/usr/local/bin:/usr/bin:/bin:/usr/games”
Tambahkan path root command : /usr/local/sbin, /usr/sbin, /sbin, hingga menjadi :
# Set the default system $PATH:
PATH=”/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin”
Namun cara ini sangat tidak disarankan, karena ini mengakibatkan semua user biasa dapat menjalankan perintah root, disini saya akan mengguakan cara berbeda, sebenarnya sama seh sama cara pertama di atas, tetapi saya tidak akan mengeditnya secara langsung pada file /etc/profile tetapi saya akan membuat sebuah file baru didalam home directory user biasa (aditya) yang akan menjalankan perintah sudo.
aditya@aditya:$ touch .profile
aditya@aditya:$ vim .profile
Tambahkan baris ini pada file .profile (“.” didepan menunjukan attribute file profile diset hidden) agar user tersebut dapat menggunakan root command yang berada pada path-pathnya masing-masing :
# Set the default system $PATH:
PATH=”/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin”
Kemudian save ! Jadi file yang baru saja saya buat tadi hanya berlaku untuk user tersebut (aditya) dan tidak berlalku secara global untuk semua user biasa, seperti cara pertama diatas. Mari kita tes untuk menggunakannya :
aditya@aditya:$ sudo ifconfig
Password:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:180 errors:0 dropped:0 overruns:0 frame:0
TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9480 (9.2 KiB) TX bytes:9480 (9.2 KiB)
Bash Auto Completion
Sampai pada saat ini apa masih ada yang terasa ngejanggal…? emmm… wah ternyata fasilitas “auto completion” dari bash kok gak bisa di gunakan bersama perintah sudo yach… Yupz bener banget… dan yang saya harus lakukan adalah menginstallnya ! disini saya menggunakan package “bash-completion-20060301-noarch-1.tgz” dari package extra yang ada pada CD ke-3 Slackware 12… jika ada yang tidak memiliki CD extra Slackware bisa cari aza filenya di repository slackware yang buanyak banget terhambur di internet… :p tapi ngomong-ngomong sebenarnya apa seh bash auto completion itu ? Bash auto completion adalah sebuah fasilitas yang memungkinkan kita untuk meng-auto complate perintah dengan tombol Tab… jadi misalnya kita mengetikan :
aditya@aditya:$ sudo ifcon [tab]
Maka bash akan langsung melengkapi perintah tersebut sebagai perintah ifconfig, nah itu gunanya bash auto completion… 😀 selanjutnya kita akan install package bash-completion-20060301-noarch-1.tgz dan melihat hasilnya…
aditya@aditya:$ cd /media/Slack12d3/extra/ bash-completion/
aditya@aditya:$ sudo installpkg bash-completion-20060301-noarch-1.tgz
Sampai disini udah selesai… silahkan reboot slackwarenya… dah nikmati gaya barunya… ;))
knapa slackware blm make sudo by default ya.. 🙂
makasi orekannya.. 😀
i hate sudo
user@data$sudo password
bisa ganti password root
:((
duch
kenapa ada sudo?..
bener banget bro… namanya juga sudo dan user yang dapat menggunakan perintah sudo sudah pastilah atas persetujuan dan kepercayaan root atau sang admin… jadi kemungkinan-kemungkinan seperti terjadinya perubahan password root hanya dapat dilakukan oleh root sendiri dan user yang mendapat previlage dari root untuk menggunakan perintah sudo… kecuali user yang dipercaya tadi berkhianat :))
lho, khan di /etc/sudoers bisa di kondisikan kepercayaan model apa yang kita kasih ke user 😉
trims lagi…