Administrasi Dasar Linux.pdf - WordPress.com

78 downloads 4828 Views 154KB Size Report
Materi 7 : Administrasi Dasar Linux ... administrasi sistem Linux, yaitu manajemen user, file dan direktori serta ... perintah-perintah yang dapat merusak sistem!
Materi 7 : Administrasi Dasar Linux

4-1

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.

Materi 7 : Administrasi Dasar Linux

4-4

root:$1$ÿçûQLQpC$awkpnjizMEVsnM9Wx2/:11751:0:99999:7::: bin:*:11751:0:99999:7::: daemon:*:11751:0:99999:7::: lp::11751:0:99999:7::: postgres:!!:11751:0:99999:7::: apache:!!:11751:0:99999:7::: squid:!!:11751:0:99999:7::: named:!!:11751:0:99999:7::: ech:$1$EdL94Oi5$hVIqeedW5bY.tmEhxx1:11765:0:99999:7:::

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

Perintah memodifikasi sebuah group usermod

Perintah memodifikasi login seorang user groupadd

Perintah untuk membuat sebuah group baru. Informasi tentang groupgroup yang ada berada dalam file /etc/group groupdel

Perintah menghapus sebuah group

Materi 7 : Administrasi Dasar Linux

4-8

7.8 Manajemen File dan Direktori Sebuah sistem linux mengorganisasikan file-file dan direktorinya dalam aturan tertentu. Berbeda dengan sistem windows, Linux tidak mengenal drive C, drive D dan seterusnya. Dalam sebush sistem linux, direktori di susun secara hirarkial. Direktori tingkat teratas disebut dengan “root direktori” yaitu direktori “/”. Semua direktori berada dibawah direktori ini. Dibawah langsung dari direktori ini terdapat direktori-direktori penting yaitu: bin/, boot/, dev/, etc/, home/, lib/, lost+found/, mnt/, proc/, sbin/, tmp/, usr/, dan var/.

/bin dan /sbin Direktori ini menyimpan program-program penting yang digunakan untuk pemeliharaan sistem. Sesuai dengan nama direktorinya, file-file program yang tersimpan didalamnya berupa file binary yang dapat dieksekusi (executable). Isi direktori /bin umumnya adalah program-program yang biasa dibutuhkan oleh user, seperti: -

login Shell (bash, ksh, csh) File utility (cp, mv, rm. ln, tar) Editor (ed, vi) Filesystem utilty (dd, df, mount, umount, sync) System utility (uname, hostname, arch) GNU utility (gzip, gunzip)

Isi direktori /sbin umumnya adalah program pemeliharaan atau sistem program. Program-program yang disimpan di direktori /sbin ini hanya dapat dieksekusi oleh administrator atau user root. File-file di direktori ini contohnya adalah sebagai berikut: -

fsck fdisk mkfs shutdown lilo init

/etc Direktori ini menyimpan file-file konfigurasi systemwide yang dibutuhkan oleh program-program lainnya. Beberapa file penting di direktori ini misalnya: - passwd - shadow - fstab - hosts

Materi 7 : Administrasi Dasar Linux

-

4-9

motd profile shells services lilo.conf

/home Direktori ini menyimpan direktori masing-masing user yang ada di sistem termasuk HTTPD. Beberapa sistem Linux menyimpan home user root di direktori ini sebagai /home/root tapi ada juga yang menyimpan direktori home user root di direktori / atau root direktori.

/mnt Umumnya direktori ini didalamnya mengandung subdirektorisubdirektori yang merupakan sebuah mount point untuk jenis device tertentu. Misalnya cdrom/, floppy/, atau zip/.

/tmp dan /var Direktori /tmp untuk menampung file-file sementara(temporary) dan /var menampung varying content atau macam-macam file. Direktori /tmp biasanya juga dimanfaatkan oleh program instalasi saat kita mengintalasi program atau aplikasi. Isi direktori ini bisa saja dihapus setiap saat tanpa menimbulkan penagaruh apapun. Direktori /var memiliki isi yang lebih banyak dari /tmp dan biasanya isinya adalah direktori-direkori seperti: catman/, lib/, local/, lock/, log/, nis/, preserve/, run/, spool/ dan tmp/. Direktori /var/log merupakan direktori yang sangat familiar bagi setiap user. Di dalamnya disimpan pesan-pesan yang dihasilkan oleh sistem. Berikut ini isi direktori /var/log di komputer saya: httpd/, boot.log, cron, dmesg, htmlaccess.log, lastlog, maillog, messages, netconf.log, secure, sendmail.st, spooler, wtmp. File-file pesan tersebut sangat berguna bagi kita untuk mendiagnosis masalah atau kesalahan sistem.

/usr Berisi semua program dan file yang secara langsung berhubungan dengan setiap user dalam sistem. Misalnya X11R6/, bin/, dict/, doc/, etc/, games/, i386-redhat-linux/, i486-linux-libc5/, i486-linuxaout/, include/, info/, lib/, libexec/, local/, man/, sbin/, share/, src/, Direktori /usr/bin dan /usr/sbin menyimpan banyak sekali file executable. File-file executable yang disimpan di direktori ini memiliki kesamaan fungsi dan jenis dengan file-file di direktori /bin dan /sbin. Direktori /usr/X11 dan /usr/X11R6 dan subdirektori dibawahnya berisi semua file yang berhubungan dengan X Window seperti man page, library dan file executable.

Materi 7 : Administrasi Dasar Linux

4 - 10

7.9 Mematikan dan Merestart Sistem Untuk merestart Linux, dapat dilakukan dengan mengetikkan kombinasi tombol Ctrl+Alt+Del atau meng-klik tombol shutdown di prompt login XWindows. Hal ini dapat dilakukan tanpa password administrator, namun cara ini hanya bisa dilakukan jika: -

dilakukan langsung di console Linux (bukan secara remote atau telnet) Kedua cara diatas tidak di-disable dalam konfigurasi sistem.

Untuk Mematikan atau merestart sistem secara remote atau selain dari cara diatas harus login dengan user administrator (root). Terdapat beberapa perintah yang bisa digunakan: Untuk Shutdown, perintah yang bisa digunakan: -

halt shutdown –h now init 0

Untuk restart, perintah yang bisa digunakan: -

reboot shutdown –r now init 6

Membuat sebuah user shutdown Kadang-kadang orang yang bertugas untuk mematikan sistem bukanlah administrator, tapi hanya seorang user biasa yang diberi tugas untuk itu. Untuk kita perlu membuat sebuah username khusus yang dengan login ini seseorang dapat mematikan sistem, tapi tidak memiliki hak yang lain dari itu. Yang harus dilakukan adalah membuka file /etc/passwd, kemudian edit baris pada user shutdown, gantilah: -

UID dan GID user shutdown menjadi 0 Shell default menjadi “/sbin/shutdown –h now”

Setelah diubah, informasi user shutdown akan seperti berikut : shutdown:x:0:0::/sbin:/sbin/shutdown –h now

Save file /etc/passwd, kemudian keluar. Berikutnya yang harus anda lakukan adalah mengeset password untuk user shutdown ini dengan perintah passwd: passwd shutdown

Materi 7 : Administrasi Dasar Linux

4 - 11

Sekarang, Jika ingin mematikan sistem, cukup login dengan user shutdown, maka sistem akan langsung mati.

7.10 Menampilkan Pesan Saat User Login Kita bisa menampilkan pesan yang akan segera muncul saat seorang user login ke sistem. Untuk menampilkan pesan, editlah file /etc/motd kemudian isi file ini dengan pesan yang hedak disampaikan. Anda juga bisa menampilkan pesan dengan cara mengedit file /etc/issue dan /etc/issue.net . Isi file ini akan ditampilkan diatas prompt login, jadi seseorang akan membaca pesan ini sebelum ia login (berbeda dengan file /etc/motd yang baru muncul setelah user berhasil login)

7.11 File System Untuk mengorganisasi file-file pada device dibutuhkan filesystem. Jika Anda mengenal FAT selama ini di sistem operasi Windows maka Anda akan mengenal beberapa metode filesystem di Linux, seperti ext fs, ext2 fs atau xia fs dll. Saat ini ext2 fs adalah filesystem yang banyak digunakan untuk Linux karena terkenal sangat efisien. Meskipun demikian Linux tetap menyediakan dukungan terhadap filesystem lain seperti msdos yang sudah built in di kernel atau dalam bentuk modul seperti vfat (Windows95 native fs), ext,umsdos dan sebagainya. Untuk menggunakan filesystem tersebut kita lebih dahulu harus memount sebuah block device yang memiliki filesystem. Perintahnya adalah sebagai berikut: mount -t -o

device berupa block device, mount point berupa sebuah direktori untuk menampilkan filesystem. t adalah type atau jenis filesystem dan o adalah option, keduanya boleh saja tidak disertakan bila Anda sudah mengkonfigurasi file /etc/fstab yang berisi keterangan detail mengenai device,jenis filesystem, mount point yang digunakan dan sebagainya. Misalnya saya akan mengakses sebuah file di disket di drive A: maka pertama kali saya harus me-mount dulu disk tersebut ke sebuah direktori yang sudah saya buat misalnya /mnt/floppy: mount -t vfat /dev/fd0 /mnt/floppy

Setelah perintah itu barulah saya bisa membaca disket di drive A: tersebut di direktori /mnt/floppy. Misalnya dengan mengetikkan perintah ls maka akan ditampilkan isi disket:

Materi 7 : Administrasi Dasar Linux

4 - 12

ls /mnt/floppy

Untuk membatalkan perintah mount digunakan perintah umount umount /mnt floppy

Hal yang sama juga berlaku untuk partisi hardisk yang lain dan juga cdrom. Untuk Windows gunakan file sistem “vfat” dan untuk cdrom gunakan file sistem “iso9660”. Sebagai contoh, disini cdrom dipasang pada secondary IDE sebagai slave, perintahnya: mount -t iso9660 /dev/hdd /mnt/cdrom

Agar mounting device bersifat permanen, lakukanlah konfigurasi pada file /etc/fstab.