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.

8/01/2009

Kompresi File dan Sistem Backup di Linux

Kompresi File dan Sistem Backup di linux

Berbagai masalah dapat menyebabkan lenyapnya data, file secara tidak sengaja dapat terhapus, rusaknya hardware, kecelakaan dan bencana, serangan-serangan, bug-bug, informasi penting yang disimpan dalam file-file tidak lagi tersedia dan masih banyak faktor lain.

Organisasi adalah masa depan seorang administrator sistem, kontek ini pada beberapa kasus dapat tergantung pada tersedia atau tidaknya file-file backup yang dimiliki. Terkadang saat terjadi kecelakaan yang melenyapkan data, rekan-rekan kerja dan organisasi akan berterima kasih ketika ternyata telah dilakukan penghamanan data oleh sistem administator dengan melakukan backup secara reguler dan terjadwal. Mem-backup file-file adalah suatu kebutuhan, namun banyak administrator meremehkan hal ini.

Bakup menjadi suatu yang penting karena alasan-alasan :
- Error disebabkan user-user
- Error disebabkan staff-staff sistem
- Kerusakan hardware
- Kerusakan software
- Perusakan dan penyerangan elektronik
- Pencurian
- Bencana alam
- Kecelakaan
- Sebagai arsip informasi

Lakukan backup terhadap segala sesuatu yang dianggap unik atau penting pada sistem, termasuk semua file user, beberapa database sistem (seperti /etc/passwd, /etc/tty) dan direktori sistem (seperti /bin dan /usr/bin) khususnya yang sudah dilakukan modifikasi.

Dalam sistem operasi Linux dilengkapi dengan aplikasi backup yang terdiri dari dua bagian :
1. Copy
Bentuk sederhana dari backup adalah cukup dengan meng-copy file-file dan direktori ke disk atau tape. Untuk melakukan itu dapat menggunakan perintah cp dan dd.

2. Arsip
Aplikasi untk pengarsipan dapat digunakan salah satu dari tiga tools yang umumnya sudah tersedia pada distribusi Linux, antara lain ar, tar, dan cpio
11.1 Program cp
Tools ini digunakan untuk copy file dan direktori dengan format perintah adalah :
cp [options] file path
cp [options] file... directory
Contoh :
#crontab –l
30 23 * * * cp /etc/passwd /mnt/backup
11.2 Program dd
Perintah ini digunakan untuk mengkopy suatu file atau direktori menuju ke device secara langsung, misalnya tape, disk. Format pernulisannya :
dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

Contoh :
$dd if=myfile of=/dev/mytape conv=sync
$ dd if=myfile of=/dev/fd0 bs=1k seek=172
$dd if=/etc/* of=/dev/fd0
11.3 Program tar
tar adalah utility yang lazim digunakan di Unix untuk membuat direktori dan file menjadi satu atau dengan kata lain mempaketkan. Nama tar sendiri berasal dari kata Tape Archiver. Banyak software untuk Linux didistribusikan dalam bentuk tar ini, memang kini banyak yang sudah menggunakan bentuk paket yang lainnya yaitu rpm (Red Hat Packet Manager) dan deb (Debian). Akan tetapi tidak semua sistem memiliki utility untuk menangani rpm, dan deb ini. Tetapi bisa dikatakan semua sistem Unix memiliki utility tar ini.
File yang disimpan sebagai file tar ini lazim dikenal dengan nama file arsip (archieve file). Berikut ini adalah tip singkat untuk menggunakan tar.
• tar -xvzf
Melakukan proses pemekaran (uncompress) pada file bernama nama_file_tar dengan menggunakan gzip, dan lalu membongkar file arsip tersebut. Proses ini biasanya dilakukan terhadap file arsip yang memiliki ekstensi tgz atau tar.gz

• tar -xvf Membongkar suatu file arsip tanpa melakukan pemekaran, dilakukan terhadap file arsip yang memiliki ekstension tar

• tar -tvf
Menampilkan daftar isi dari file arsip bernama nama_file_tar.


• tar -cvzf
Melakukan pemaketan dari direktori_sumber dalam bentuk tar dan lalu melakukan proses pengompresan dengan gzip. Hasil dari proses ini adalah tgz atau tar.gz.

• tar -cvf
Melakukan pemaketan dari direktori_sumber dalam bentuk tar. Hasil dari proses ini adalah tar

Contoh :
$ tar cvf backup.tar /etc
$ tar xvf backup.tar
$ tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

Latihan :
1. Bagaimanakah membuat file backup dari /etc/* kedalam file backup.tar.gz
2. Bagaimanakah proses backup yang dilakukan secara terjadwal, dimana proses backup dilakukan setiap jam 12 malam pada file /var/spool/mail/*
3. Bagaimanakah proses restore terhadap file yang telah terbackup ke dalam flopy menggunakan aplikasi dd
4. Jelaskan bagaimanakah mekanisme backup dengan rsync !