Seorang System Administrator
tentunya harus mengetahui segala kegiatan atau kejadian apa saja yang
terjadi pada server nya. Hal ini sangat penting karena kita mendapatkan
amanat besar dari perusahaan dalam manajemen data center. Tentunya kita
sebagai admin tidak bisa membiarkan orang-orang yang tidak mempunyai
kepentingan masuk kedalam server kita begitu saja, oleh karena itu kita
harus me-manage user yang ada pada server kita, kita harus memantau apa
saja yang dilakukannya.
Perlu diketahui bahwa secara default user baru yang dibuat pada server linux kita, itu memiliki privileges 755. Artinya;
- User = rwx (read, write, execute)
- Group = rx (read, execute)
- Other = rx (read,execute)
Bisa anda bayangkan jika kita adalah
seorang sysad yang bekerja di perusahaan hosting yang memiliki client
sekian banyak dengan user-nya masing-masing pada server kita? Apakah
anda sadar, bahwa memberikan privileges 755 pada setiap user itu cukup
riskan untuk server kita? Menurut saya ini cukup mengganggu ketenangan,
dimana setiap user dapat saling melihat isi folder home satu sama lain?
Untuk kasus ini, akan saya jelaskan langkah-langkah untuk mengatasinya.
Pada percobaan ini saya menggunakan Linux Ubuntu Server 12.04, saya
akan menuliskan bagaimana cara me-manage user yang benar dalam server linux.
Berikut ini adalah perintah untuk membuat user baru pada linux
syntax diatas benar untuk membuat user baru bernama panda. Tapi tidak memberikan home directory kepada panda. Pembuatan user dengan cara diatas benar-benar tanpa atribut apapun seperti password, nama, dan atribut lainnya. Maka pada Linux Ubuntu Server 12.04 kita bisa membuat sebuah user lengkap dengan home directory, dan atribut lainnya. Perintahnya seperti ini :root@laborate:/home/apocalypsix# useradd panda
root@laborate:/home/apocalypsix# adduser pandaSetelah menekan enter maka akan muncul seperti ini :
Adding user `panda' ...
Adding new group `panda' (1001) ...
Adding new user `panda' (1001) with group `panda' ...
Creating home directory `/home/panda' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for panda
Enter the new value, or press ENTER for the default
Full Name []: John Paul
Room Number []: 10
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
Pada metode kedua ini, user panda
diberikan home directory-nya sendiri, diberikan group juga, selain itu
password juga harus di set saat itu juga. Singkat kata, privasi untuk
panda secara default sudah cukup baik.
Cara menghapus user di linux ubuntu server 12.04 bisa dengan perintah ini :
Atau bisa juga dengan perintah ini :root@laborate:/home# deluser panda
Removing user `panda' ...
Warning: group `panda' has no more members.
Done.
root@laborate:/home# userdel panda
Removing user `panda' ...
Warning: group `panda' has no more members.Done.
Home directory tidak akan terhapus
otomatis, jika mau kita bisa menghapusnya dengan cara manual. Karena
user panda tidak memiliki member di group nya maka tampil seperti itu,
jika user panda tersebut mempunyai member bagian "Warning: group `panda`
has no more members" tidak akan muncul. User panda akan langsung
dihapus begitu saja. namun dengan demikian bisa kita lihat yang terjadi
setelah user panda dihapus, adalah seperti ini :
root@laborate:/home# ls -lYang terjadi adalah User kancil tidak termasuk kepada group panda karena group panda sudah hilang bersama user panda yang saya hapus. 1001 adalah user id nya panda, user id akan tetap ada meskipun user nya sudah dihapus.
total 12
drwxr-xr-x 5 apocalypsix apocalypsix 4096 Jul 28 06:16 apocalypsix
drwxr-xr-x 2 kancil 1001 4096 Aug 2 05:30 kancil
drwxr-xr-x 2 1001 1001 4096 Aug 2 05:29 panda
Sekarang untuk pengaturan
privileges. Ada baiknya kita tidak memberikan akses kepada kedua user
tadi untuk dapat saling melihat isi home directory nya. Secara default
keduanya berada pada group yang berbeda. Karena adanya "RX" pada privileges "OTHER"
maka keduanya bisa saling melihat isi home directory. Saya pribadi
tidak membiarkan hal itu terjadi, saya tidak memberikan privileges
apapun kepada OTHER, karena saya tipe orang yang paranoid :P
Maka saya memberikan atribut pada home directory keduanya dengan 750. Artinya :
- User = rwx (read, write, execute)
- Group = (read, execute)
- Other = NOTHING :D
Tapi bagaimana isi folder tersebut bisa ditampilkan dalam web page?
Pada awalnya saya juga berpikir seperti itu, tapi kemudian saya menemukan cara untuk dapat menampilkan isi home directory tersebut pada halaman web. Atribut RX kita hilangkan pada Other bukan berarti kita tidak bisa menampilkan web yang tersimpan dalam user tersebut. Untuk mengatasinya adalah mengubah group user tersebut menjadi www-data.www-data adalah group milik apache. Jika home directory kedua user tadi dimasukkan kedalam group ini, maka otomatis website yang tersimpan didalamnya akan dapat ditampilkan pada browser karena file-file didalamnya selain milik user panda ataupun kancil, juga dimiliki oleh www-data. Perintah untuk mengubah group user di linux ubuntu adalah seperti ini :
root@laborate:/home# chgrp -R www-data pandaMetode diatas menurut saya lebih aman ketimbang memberikan privileges apapun kepada OTHER. Selain itu, Jika user panda melakukan remote ssh, dia tidak akan bisa melakukan apapun pada home directory kancil. Begitu juga sebaliknya.
root@laborate:/home# ls -l
total 12
drwxr-xr-x 5 apocalypsix apocalypsix 4096 Jul 28 06:16 apocalypsix
drwxr-x--- 2 kancil www-data 4096 Aug 2 05:39 kancil
drwxr-x--- 2 panda www-data 4096 Aug 2 05:38 panda
Saya masuk sebagai user panda dan akan masuk kedalam home directory kancil, tapi yang terjadi adalah seperti ini :
panda@laborate:/home$ cd kancilUser panda tersebut tidak diijinkan masuk kedalam folder kancil. Bahkan untuk melihat apa isinya pun akan tetap ditolak.
-bash: cd: kancil: Permission denied
panda@laborate:/home
panda@laborate:/home$ ls kancilSaya rasa cukup sampai disini untuk artikel kali ini. Untuk manajemen user pada linux ubuntu server 12.04 yang lebih dalam akan saya lanjutkan dilain waktu. Jika anda memiliki pertanyaan atau permasalahan silahkan tuliskan di komentar. Saya akan dengan senang hati membantu memecahkan masalah anda :)
ls: cannot open directory kancil: Permission denied
panda@laborate:/home$
Semoga bermanfaat,
Salam penguin! :)