8/13/2009

ADMINISTRASI USER DAN GROUP DI LINUX

ADMINISTRASI USER DAN GROUP


Dalam sistem berbasis Linux memiliki username-username spesial untuk kepenrtingan fungsi-fungsi sistem. Username ini memiliki UID sebagaimana username yang diasosiasikan untuk user-user. Berikut ini user-user umum yang dimiliki oleh default sistem UNIX/Linux :
- root, yakni superuser yang membentuk account dan mengendalikan fungsi-fungsi sistem.
- daemon atau sys, yang menangani aspek-aspek jaringan. Username ini diasosiasikan juga utilitas sistem lain, seperti print spooler dalam beberapa versi tertentu.
- agent, yang menangani aspek mail elektronik, pada beberapa sistem, agent memiliki UID yang sama dengan daemon.
- guest, digunakan bagi para pengunjung untuk mengakses sistem.
- ftp, digunakan untuk akses anonymous FTP.
- uucp, untuk mengatur uucp sistem.
- news, digunakan untuk Usenet news
- lp, digunakan untuk line printer system.
- nobody, yakni user yang tidak memiliki file-file. Terkadang digunakan sebagai default user untuk operasi-operasi kurang openting.

9.1 User Identitas (UIDs)
UID secara historis dibentuk oleh integer-integer 16 bit, yang berarti mereka dapat melakukan range dari 0 hingga 65535. UID 0 dan 9 secara typical digunakan untuk fungsi-fungsi system. UID untuk orang-orang biasanya dimulai dari 20 atau 100. Linux menyimpan mappong antar-username dan UID-UID dalam file /etc/passwd. Masing-masing UID user diletakkan dalam field setelah password-password yang terenkripsi.

Perhatikan contoh isi dari satu record /etc/passwd :

anjik:eH5/.mj7NHB3dx:181:100:Anjik Sukmaaji:/home/anjik:/bin/ksh

Dari contoh diatas, user anjik dengan UID 181. UID tidak lain adalah informasi aktual yang digunakan sistem operasi untuk mengidentifikasi user-user. Seandainya dua atau beberapa user memiliki UID yang sama, meski mereka memiliki username berbeda dan password berbeda pula. User dengan UID yang sama dapat secara bebas membaca file-file, melakukan penghapusan, mengeksekusi program, mengkill proses-proses yang berjalan.

Linux menyediakan utilitas useradd untuk menambahkan nama pemakai baru ke sistem.
Usage : useradd [-u uid] [-o]] [-g group] [-G group,…]
[-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire ] [-p passwd] [-n] [-r] name
useradd –D [-g group] [-b base] [-s shell]
[-f inactive] [-e expire]
-u user-id
-g group-id
-G secondary group
-d direktori awal (HOME), bila tidak diberikan, maka sebagai default
diambil nama pemakai tsb dan ditambahkan ke direktori default
(misalnya /home)
-s shell, /bin/bash dan lainnya
-c comment, info atau keterangan tentang pemakai tersebut
-m direktori HOME akan diciptakan, bila belum ada. Files yang berada
pada direktori /etc/skel akan dicopy untuk menjadi default profile
pemakai tersebut
-k bersama dengan –m, memberikan nama kerangka (skelet) direktori
yang berbeda dengan skel
-f inactive_days, jumlah hari sebelum account tersebut dibekukan, bila masa
berlaku password telah berakhir.
-e tanggal habis berlaku nama login tersebut
-p encrypted password

Membuat user sederhana :
# useradd dimas

Membuat user, dengan menyertakan semua parameter dari nilai default, yang dapat dilihat dengan menggunakan option –D:
#useradd –D
GROUP=100
HOME=/home
INACTIVE=1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel

Melihat HOME directory serta file inisialisasi:
# ls –1 /home
total 17
drwx------ 4 amir 1024 Nov 27 13:50 amir
drwxr-xr-x 6 root root 1024 Nov 27 19:33 ftp
drwx------ 4 dimas dimas 1024 Nov 27 22:03 dimas
drwxr-xr-x 5 root root 1024 Nov 27 19:33 http
drwxr-xr-x 2 root root 12288 Nov 27 19:30 lost+found
drwxr-xr-x 2 root nobody 1024 Sep 26 00:12 samba

# ls –la /home/dimas
drwx------ 4 dimas dimas 1024 Nov 27 22:03 .
drwxr-xr-x 8 root root 1024 Nov 27 22:03 ..
-rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bash_logout
-rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bash_profile
-rw-r--r-- 1 dimas dimas 1024 Nov 27 22:03 .bashrc


File default dapat diganti dengan menggunakan option ke dua yaitu –D :
Ganti HOME default ke direktori /usr :
#useradd –D –b /usr
#useradd –D
GROUP=100
HOME=/usr
INACTIVE=1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel

Mengubah User
# usermod
usage : usermod [-u uid [-o]] [-g group] [-G group,….]
[-d home [-m]] [-s shell] [-c comment] [-l new_name]
[-f inactive] [-e expire] [-p passwd] [-L|-U] name
#userdel
usage : userdel [-r] name
# usermod –g 500 dimas
# grep dimas /etc/passwd
dimas :x:200:500::/home/dimas:/bin/bash

#userdel –r dimas
#grep dimas /etc/passwd

9.2 Group Identifiers (GIDs)
Setiap user Linux berada dalam satu atau beberapa group. Sebagaimana halnya account-account user, group terdiri atas groupname dan group identification number (GID).

Nilai-nilai GID juga secara historis memiliki integer 16 bit. Sesuai dengan namanya, group-group Linux digunakan untuk mengelompokkan user-user satu sama lainnya. Sebagaimana username, groupname juga diset oleh administrator sistem saat account-account user dibuat. GID user diletakkan mengikuti UID-nya, perhatikan contoh file /etc/passwd :
anjik:eH5/.mj7NHB3dx:181:100:Anjik Sukmaaji:/home/anjik:/bin/ksh

Dalam contoh diatas, dapat dilihat bahwa GID primer anjik adalah 100. Group memberikan mekanisme penanganan atau batasan-batasan tertentu bagi user-user. Group juga digunakan untuk membentengi akses informasi sensitif dan aplikasi-aplikasi berlisensi khsus untuk user tertentu.

File /etc/group terdiri atas database yang memuat daftar setiap group dalam komputer beserta koresponden GID-nya. Formatnya sama dengan file /etc/passwd. Berikut contoh isi file /etc/group yang mendefinisikan lima group wheel, users,netc, internet, dan bebas :
wheel:*:0:root, anjik
users:*:100:
netc:*:101:jack, boy,budi
internet:*:102:icha, dimas, wahyu, eko, maulana
bebas:*:105:ardha, admaja, sukma

Membuat Group
Linux telah menyediakan utilitas administrasi group dengan utilitas groupadd. Sebelum melakukan penambahan group baru sebaiknya dilakukan pengecekan apakah group sudah atau belum.
# groupadd
usage : groupadd [-g gid[-o]] [-r] [-f] group
-g nilai group-id
-o Jika optioan ini dijalankan, maka group-id boleh merupakan duplikasi
dari GID yang sudah ada
-r menambah group sebagaimana bagian dari sistem dengan GID lebih
kecil dari 500.
-f force, akan memaksa groupadd untuk menghentikan proses, jika sudah
ada di /etc/group.

# groupadd myschools
# grep anjik /etc/group
Bila nomor group tidak diberikan, maka sistem akan memberikannya secara otomatis.

Utilitas groupmod dan groupdel dapat digunakan untuk mengubah parameter group atau menghapusnya dengan groupdel.

# groupmod
usage : groupmod [ -g gid [-o]] [-n name] group

Mengganti group-ID
# groupmod –g 123 mygroup
# grep mygroup /etc/group
mygroup:x:123:

Mengganti group-name
# groupmod –n newgroup mygroup
# grep mygroup /etc/group
# grep newgroup /etc/group
newgroup:x:123

Menghapus group
# groupdel
usage : groupdel group

# groupdel newgroup
# grep newgroup /etc/passwd
Perhatian : Sebelum meghapus group, pastikan lebih dahulu bahwa tidak ada pemakai yang terdaftar dalam group tersebut. Periksa di /etc/passwd.


9.3 Superuser
Setiap sistem Linux secara default memiliki user spesial dalam file /etc/passwd, yang memiliki UID bernilai 0. User ini dikenal juga dengan superuser dan normalnya diberi username root.

Account root adalah identitas yang digunakan oleh sistem operasi untuk menyelesaikan fungsi-fungsi dasar sistem, seperti logging user-user yang masuk dan keluar, me-record informasi accounting, dan mengaturdevice device input/output.
Dengan mengetikkan su tanpa diikuti username akan memberitahu Linux bahwa sistem diminta untuk mengubah ke dalam superuser. Selanjutnya diminta memasukkan password. Setelah password root diketikkan, maka shell akan berjalan dengan UID 0. Saat menjadi superuser, secara otomatis prompt akan berubah menjadi (#) untuk mengingatkan bahwa user berada dalam status sebagai superuser.
$ /bin/su –
password : *******
# who am I
root
Jika menggunakan command su untuk berubah ke user lain saat status sebagai superuser, sistem tidak meminta memasukkan password user bersangkutan.
# su dimas
$ who am I
dimas
Tidak semua user bisa menggunakan perintah su terhadap user root kecuali user tersebut masuk dalam group wheel dalam /etc/group yang memiliki group ID 0. Agar batasan ini bekerja, entri /etc/group tidak boleh dikosongkan, karena jika sikosongkan, semua user bisa mengubah menjadi superuser.

Menambah user
Menambah user-user dalam Linux meliputi tahapan-tahapan sebagai berikut :
- Eksekusi dan mengedit passwd, shadow, dan file group
- Menset password inisial
- Membuat direktori home user
- Mengcopy file-file start-up default
- Mengubah kepemilikan
- Memerika set up account dengan teliti.

File Password: /etc/passwd
File password /etc/passwd secara umum memuat hal-hal sebagai berikut :
- username
- Password terenkripsi, seringkali disimpan dalam /etc/shadow
- UID, nomor yang unik untuk user
- Default GID, group ID user saat mereka login. Untuk mengubah group dapat digunakan perintah /bin/chgrp

Group dan /etc/group
- memungkinkan user melakukan share file dan resource
- Group dibentuk dengan :
o Secara implisit dengan cukup menaruh nomor baru dalam field keempat pada /etc/passwd
o Secara eksplisit dengan menambah entri /etc/group
- /etc/group dapat memilikibentuk field seperti berikut :
group-name:*:GID:users

Membuat Direktori home
- Tambahkan entri-entri file passwd dan shadow
- Gunakan passwd userid untukmenset passwd user
- Buat direktori home untuk user bersangkutan
$mkdir /home/username
- Copy file-file inisialisasi shell
- Buatlah semua file dimiliki oleh user tersebut
# chown –R username:groupname /home/username
Menguji Account
- Gunakan su – username untuk mengetes sebuah account
- Perintah su (substitusi user) memungkinkan merubah menjadi user lain tanpa perlu menutup loging.
- “-“ menunjukkan agar membaca semua file-file inisialisasi user

Menghapus User
- Gunakan passwd –l username untuk me-lock account
- Hapus entri-entri dari passwd dan group, lalu hapuslah direktori home.