1 Materi 7 : Administrasi Dasar Linux Pengantar 7 ADMINISTRASI DASAR LINUX Yang dimaksud dengan administrasi dalam sebuah sistem operasi adalah dianta...
7 ADMINISTRASI DASAR LINUX 7.1 Pengantar Yang dimaksud dengan administrasi dalam sebuah sistem operasi adalah diantaranya: -
Manajemen File dan Direktori Manajemen user Konfigurasi File sistem dan Partisi Hardisk Konfigurasi Periferal (Printer, Mouse, CDROM, dll) Konfigurasi sistem Linux (network, start-up, profile, dll) Konfigurasi Server (mail, web, ftp server, dll) Instalasi dan konfigurasi aplikasi tambahan Perawatan dan Pemantauan Sistem dari resiko keamanan.
Dalam bab ini anda hanya akan mempelajari hal-hal dasar dari administrasi sistem Linux, yaitu manajemen user, file dan direktori serta konfigurasi sistem. Hal-hal lainnya akan dipelajari secara mendetail pada bab-bab yang akan datang. Yang dapat melakukan administrasi hanyalah orang yang memiliki login sebagai administrator. Seorang administrator mempunyai hak yang tidak terbatas untuk mengendalikan sebuah mesin Linux. Dengan login administrator, anda dapat melakukan apa saja, termasuk menjalankan perintah-perintah yang dapat merusak sistem! Dengan demikian seorang administrator haruslah betul-betul paham tentang apa yang sedang dilakukannya ketika bekerja dengan login administrator. Selain itu, karena sifat ke-tidak terbatasannya, login administrator tidak boleh jatuh ke sembarang orang. Masalah potensi kerusakan dan resiko masalah keamanan disebabkan oleh penggunaan login administrator akan dijelaskan lebih rinci pada bab terakhir.
7.2 Konsep user User adalah orang yang berhak menggunakan suatu mesin Linux. Dengan demikian Hanya orang yang memiliki username dan password yang sah yang bisa disebut user. Pada bahasan selanjutnya, yang dimaksud user adalah seseorang yang memiliki login dan password. Berdasarkan hak-hak yang dimilikinya, user dalam linux dibagi atas dua kategori:
Materi 7 : Administrasi Dasar Linux
-
4-2
user biasa atau regular user user root atau administrator.
Seorang user biasa hanya memiliki hak-hak penuh terhadap home direktori dan file-file miliknya sendiri. Seorang user biasa tidak memiliki hak penuh terhadap file dan direktori milik user lain, dan hanya boleh menjalankan perintah-perintah tertentu. User root adalah user istimewa, yaitu administrator yang memiliki hak tidak terbatas. Root bisa melakukan hal-hal yang tidak bisa dilakukan oleh user biasa, seperti: mematikan sistem, menambah user, menghapus user, mengubah konfigurasi sistem dan lain-lain. Disebut dengan user root karena secara default, user ini bernama “root”. User dengan nama selain root bisa saja menjadi administrator jika user-id (atau UID) diset sama dengan nol. UID adalah ID atau nomor identitas dari seorang user. UID bersifat unik, artinya tidak boleh ada dua user atau lebih yang memiliki UID sama. Jika terdapat dua user yang memiliki UID yang sama, maka kedua user ini akan memiliki hak-hak yang identik (satu sama lain saling memiliki hak penuh terhadap file-file milik yang lain). Selain UID dikenal juga GID atau Group ID. Setiap user akan dikelompokkan berdasarkan group-group tertentu. User-user anggota grup yang sama akan memiliki GID yang sama. Berdasarkan tujuan pembuatannya, user dapat di bagi berdasarkan dua kategori yaitu: -
real user unreal user
Real user adalah user yang sengaja dibuat oleh administrator agar seseorang bisa login dengan username tersebut. Sementara unreal user adalah user-user yang dibuat karena dibutuhkan oleh aplikasi-aplikasi tertentu. User unreal juga adalah useruser “built-in” yang sudah dibuatkan oleh Linux saat instalasi seperti user: games, operator, mail, lpr, nobody, dll. Perbedaan antara user real dan unreal: -
real user memiliki home direktori, user unreal tidak punya. real user punya password, user unreal tidak punya (walau tidak punya password, tetap tidak bisa login tanpa password) real user biasanya memiliki UID diatas 500, unreal user memiliki UID dibawah 500.
Materi 7 : Administrasi Dasar Linux
4-3
Sebagai pengecualian, user root adalah termasuk user unreal, tapi punya password dan punya home direktori. Informasi semua user disimpan didalam sebuah file bernama /etc/passwd. Masing-masing user diwakili oleh sebuah baris, dan setiap baris terdiri atas 7 kolom yang dipisahkan oleh karakter “:” Dibawah ini adalah contoh beberapa baris dari sebuah file /etc/passwd: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash apache:x:48:48:Apache:/var/www:/bin/false squid:x:23:23::/var/spool/squid:/dev/null ech:x:500:500:ech:/home/ech:/bin/bash
Tujuh kolom tersebut masing-masing memiliki arti sebagai berikut: Kolom Kolom Kolom Kolom Kolom Kolom Kolom
1: username 2: password yang di-shadow 3: UID atau User ID 4: GID atau Group ID 5: Keterangan tentang user tersebut 6: Lokasi Home direktori 7: Shell default user
7.3 Password User Pada versi Linux terdahulu, password user disimpan pada file /etc/passwd pada kolom ke-dua. Password akan dtulis dalam bentuk telah terenkripsi, jadi seseorang tidak bisa langsung menebak password seseorang dengan hanya melihat file tersebut. Karena file /etc/passwd tidak boleh disembunyikan akan timbul resiko masalah keamanan. Berkaitan dengan masalah ini, diperkenalkan konsep shadow password. Dengan sistem ini, informasi password user disimpan dalam file /etc/shadow. File ini disembunyikan (mempunyai mode 600) sehingga hanya administrator yang berhak melihat dan memodifikasi file ini. Sebagian besar sistem linux terbaru menggunakan shadow password. Dalam sistem shadow password, kolom password pada file /etc/passwd diganti dengan karakter “x”, dan seluruh informasi password disimpan dalam file /etc/shadow. Setiap baris dalam file /etc/shadow mewakili informasi password seorang user. Setiap baris memiliki 8 kolom yang masing-masing dipisahkan oleh karakter “:”. Berikut ini adalah contoh beberapa baris dari file /etc/shadow.
Delapan kolom tersebut masing-masing memiliki arti sebagai berikut: Kolom Kolom Kolom Kolom Kolom Kolom Kolom Kolom
1: nama user 2: password user yang telah dienkirpsi. 3: jml hari diganti sejak tgl 1 jan 1970 4: jml hari sebelum user diijinkan mengubah password (min) 5: jml hari sebelum user dipaksa ubah passwrd (max) 6: jml hari sebelum user diingatkan mengubah password (warn) 7: jml hari tersisa untuk ganti password sebelum user dihapus 8: jml hari dihapusnya passwrd sejak 1 jan 1970
7.4 Menambah User Untuk menambah user, gunakan salah satu perintah berikut: adduser
Atau useradd
Contoh: Hedak ditambahkan seorang user bernama novi, maka perintahnya: useradd –n novi
Setiap dibuat sebuah user baru, linux secara otomatis akan membuat sebuah private group, yaitu sebuah group yang namanya sama dengan nama user tersebut. Untuk menghidari hal ini, gunakan Opsi –n yang akan mendisable fasilitas ini. Dengan demikian user novi diatas hanya akan menjadi anggota group default. Jika tidak ada pesan kesalahan, artinya anda sukses menambahkan seorang user baru. Untuk memeriksanya, anda dapat melilhat file /etc/passwd: cat /etc/passwd | grep novi
Materi 7 : Administrasi Dasar Linux
4-5
User yang barusan anda buat ini belum memiliki password, untuk mengeset password, gunakan perintah passwd: passwd novi
Perintah passwd diatas akan meminta anda memasukkan password yang baru sebanyak dua kali kedua password yang di ketik haris sama persis). Password yang anda ketik tidak akan tampil di layar komputer. Ada cara lain untuk mengganti password untuk user. Cara ini lebih nyaman, namun kurang secure karena password user akan terlihat dilayar. Misalkan nama user adalah “novi”, dan password yang baru adalah “piksi” (tanpa tanda petik) maka perintahnya: echo "piksi" | passwd --stdin novi
Perintah useradd diatas akan mengambil konfigurasi default yang disimpan dalam file /etc/default/useradd dan setting yang ada pada file /etc/login.defs. Isi file /etc/default/useradd kira-kira seperti berikut: # useradd defaults file GROUP=100 HOME=/home/regular INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel
Untuk menganti konfigurasi default, dapat dilakukan dengan cara mengedit file tersebut, atau gunakan perintah “useradd –D” dengan option: -g : Mengeset default Group -b : Mengeset default Home dir -f : Mengeset harga default inactive -e : Mengeset harga default Expire -s : Mengeset shell default
7.5 Menambah User generik secara Massal Kadang-kadang seorang administrator harus membuat sekaligus puluhan atau bahkan ratusan user, dimana masing-masing user hanya sedikit perbedaannya. Sebagai contoh, Perhatikan sebuah kasus sebagai berikut: Buat seratus buah user baru bernama user1, user2,... hingga user100. dimana:
Materi 7 : Administrasi Dasar Linux
-
-
4-6
Semua user ini akan diset passwornya sama semua, yaitu “piksi” (tanpa tanda kutip). Semua user ini memiliki home direktori di: /home/regular/user1 /home/regular/user2 ... ... ... /home/regular/user100 Semua user berapa pada group yang sama yaitu group users (GID=100) Shell default adalah /bin/bash
Ada cara yang mudah dari pada anda menambahkan user secara manual satu persatu. Caranya buatlah sebuah script sebagai berikut: #!/bin/sh # File: mkuser.sh # Program untuk membuat user baru secara massal # set Nilai default dari masing-masing variable # Default. home_def="/home/regular" user="user" shell="/bin/bash" group="users" password="piksi" # buat direktori home_def if ! [ -d $home_def ] ; then mkdir $home_def fi # set default useradd -D -b useradd -D -g useradd -D -s
konfiuration $home_def $group $shell
# Perintah tambahkan user dan set password sekaligus i=1 while [ $i -le 100 ] do adduser -n $user$i echo $password | passwd --stdin $user$i i=`expr $i + 1` done
Ketika program ini dieksekusi maka akan segera terbuat 100 user baru sesuai dengan spesifikasi diatas.
Materi 7 : Administrasi Dasar Linux
4-7
7.6 Menghapus User Untuk menghapus user, gunakan perintah userdel. Misalkan yang hendak dihapus adalah user novi, maka perintahnya: userdel novi
Perintah ini hanya menghapus username, tapi home direktori user tersebut tidak ikut terhapus. Jika kita menginginkan user tersebut dihapus berikut dengan home direktorinya gunakan perintah: userdel –r novi
7.7 Perintah-Perintah Pengaturan User Selain menambah dan menghapus user, terdapat beberapa perintah lain yang berkaitan dengan pengaturan user. Perintah-perintah ini adalah : passwd
Perintah untuk mengganti password seorang user chfn
Perintah untuk mengganti informasi tentang user chown
Perintah mengganti kepemilikan sebuah file atau direktori chsh
Perintah untuk mengganti shell default seorang user chage
Perintah untuk mengganti umur password seorang user chgrp
Perintah mengganti kepemilikan group dari sebuah file atau direktori groupmod