Corat Coret

Just corat-coret... Take it easy. I'm not teaching, but I'm just learning.

Monday, October 09, 2006

su

Di lingkungan Unix, BSD atau Linux, ini salah satu tools kecil namun bermanfaat dan para administrator di lingkungan OS tersebut tak asing lagi dengan tools ini karena cukup sering penggunaannya. Biarpun tools ini cukup kecil dan sering terpakai, ternyata banyak dari kita yang belum memaksimalkan kegunaannya.

Selintas su
su, singkatan dari substitute user, berguna untuk memudahkan pengguna untuk berganti user dalam session yang sama sehingga pengguna tidak perlu melakukan log-out dari satu session terlebih dahulu.

Sejatinya, su berguna untuk switching antara username tanpa memandang level akses, namun pada kenyataannya, tools ini digunakan untuk switching antar regular user ke root, sehingga banyak yang salah mengartikan makna su itu sendiri dengan memberikan singkatan "super user".

Tools ini memiliki beberapa kelebihan dan keunggulan, diantaranya:
  • su merupakan utility yang simple dan ringkas untuk berganti-ganti user, baik ke level root maupun ke regular user lainnya.
  • salah satu cara yang aman untuk administrator dalam sistem multi-user dibandingkan dengan log-in langsung dengan menggunakan root. Sebagaimana kita ketahui, login sebagai ordinary user dapat meminimalisasi kejadian-kejadian tak terduga karena power root yang begitu besar, dan su dapat dimaksimalkan dengan switching secara ringkas ke level root saat benar-benar diperlukan.
  • su memperluas kemampuan console terminal untuk OS yang tidak mendukung multi-session.
  • dengan menggunakan su, setiap switching user akan tercatat di log yang akan memudahkan system auditing.
Syntax su
Secara umum, syntax su adalah

su [options] [command] [-] [username]

Parameter yang bertanda kurung adalah optional. Jadi, su dapat dijalankan tanpa parameter apapun. Contoh:

$ su

Dengan perintah diatas, system secara default akan switching ke root. Tak ada bedanya dengan perintah

$ su root

atau untuk switching log-in ke user doni, cukup ketikkan perintah:

$ su doni


Lebih jauh dengan su
su punya keterkaitan yang erat dengan setting environment variable dan class. Setiap user memiliki environment variable dan class yang berbeda dan spesifik dan saat switching user, system akan menyesuaikan enviroment setting ini sesuai dengan parameter saat kita menjalankan su. Untuk lebih cepat dan gampang memahaminya, kita coba perintah berikut:

$ echo $PATH
$ su root
Password:
# echo $PATH

kita bisa melihat perbedaan antara setting enviroment ordinary user dibandingkan dengan root. Sekarang kita coba perintah berikutnya:

$ echo $PATH
$ su - root
Password:
# echo $PATH

Bisa dibedakan antara hasil dari contoh perintah pertama dan contoh perintah kedua? Ya, setting environment dengan menggunakan option - atau -l terlihat jauh lebih detil tapi tidak tertutup kemungkinan sama atau lebih sedikit. Hal ini disebabkan system membaca setting environment yang tersimpan di .bash_profile (.profiles di beberapa distro) dan di .bashrc. Ini sering menjadi penyebab utama saat kita gagal menjalankan perintah di level root karena option - (hypen) terlupakan saat memanggil su.

Selain dari perbedaan setting enviroment diatas, option - (hypen) atau -l akan membawa switched user ke home directory masing-masing.

su pun ternyata cukup ampuh untuk menjalankan stricted command ala sudo dengan parameter -c.
Dengan parameter ini, kita dapat menjalankan beberapa stricted command dan setelah system selesai menjalankan satu perintah, session akan langsung mengembalikan akses level ke user pemanggil. Contoh:

$ su -c "ls /root"

atau

$ su -c "ls /root" - root

contoh diatas, system akan menjalankan perintah "ls /home/doni" dalam level root, dan langsung mengembalikan session ke user asal.

Atau, jika kita ingin switching user dan kita ingin setting environment tidak berubah alias identik dengan user asal, coba jalankan perintah-perintah dibawah:

$ echo $PATH
$ su -m root
Password:
# echo $PATH

Demikian sekilas su, semoga paparan sederhana karena keterbatasan ilmu saya ini dapat menambah sedikit wawasan kita semua.

Wassalam

sumber:
+ man page su
+ http://www.bellevuelinux.org/su.html


0 Comments:

Post a Comment

<< Home

/body>