Rabu, 28 April 2021

Administrasi Dasar Linux

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.

Setiap pemakai LINUX harus mempunyai nama login (user account) yang sebelumnya harus didaftarkan pada administrator system.  Nama login umumnya dibatasi maksimum 8 karakter dan umumnya dalam huruf kecil.  Prompt dari shell bash pada LINUX menggunakan tanda “$”.

Sebuah sesi LINUX terdiri dari : 

1.       Login

2.       Bekerja dengan Shell / menjalankan aplikasi 

3.       Logout

Tergantung atas shell yang digunakan, pada Linux bash maka pada proses login akan mengeksekusi program  /etc/profile (untuk semua pemakai) dan file . base_profile di direktori awal (HOME) masing -masing. Pada saat logout, maka program shell bash akan mengeksekusi script yang bernama .bash_logout.

PERINTAH DASAR LINUX

Perintah Linux merupakan cara kita untuk bisa berinteraksi dengan sistem Linux, dibawah ini merupakan perintah-perintah dasar yang sering digunakan. Untuk masuk konsole tekan Ctrl+alt+F1 sampai Ctrl+alt+F6, atau bisa menggunakan aplikasi konsole di GUI (start application - system – konsole/terminal) maka akan ada tampilan

localhost login:   (kita bisa login dengan root atau user lain yg ada)

password:      (isi password user login anda)

setelah proses authentifikasi selasai, maka kita telah siap ngoprek :-)

 

PERINTAH UNTUK MENCARI BANTUAN

Segala perintah dan managemen di linux ada dalam dokumentasi lengkap yang bisa kita jadikan referensi sangat berharga.

man      

manual, digunakan untuk mencari referensi perintah & utilitas di Linux man cp, menampilkan fungsi cp beserta option apa saja yang yang ada. 

info

menampilkan dokumentasi linux dalam format info (hampir sama dengan man) info md5, menampilkan deskripsi kegunaan md5, beserta optionnya.

 

whatis

penjelasan singkat tentang perintah dan utilitas di Linux whatis clear, menampilkan penjelasan singkat fungsi clear.

 

FORMAT INSTRUKSI LINUX

Instruksi Linux standar mempunyai format sebagai berikut :

$ NamaInstruksi [pilihan] [argumen]

<nama_perintah>                 <option/pilihan>               <hal/tempat yang diperintahkan/argumen>

rm, cp, mv,                                     -R, v, i, f, i,                                               /home/hapus.exe 

rm                                                             -Rf                                                       /home/coba1.odt

 

penulisan option diawali dengan  - (minus) dan bersifat opsional (tidak wajib), tetapi dalam suatu keadaan digunakan untuk mempertegas dan memperjelas perintah kita ke sistem, secara garis besar arti option adalah sebagai berikut, untuk lebih jelas lihat di man.

R, r  recursive, yang berarti mengulang perintah tersebut secara berulang rekursif  (rm -r)

f  force, memaksa perintah tersebut, tanpa ada peringatan ke user lagi

i  interactive, mengkonfirmasikan ke user sebelum perintah dikerjakan 

v  verbose, menampilkan proses eksekusi perintah yang terjadi

h  hash, menampilkan proses eksekusi perintah dalam bentuk prosentase

a  all, menampilkan semuanya 

s  symbolic, hanya membuat link (shortcut)nya saja.

Pilihan adalah option yang dimulai dengan tanda  – (minus).  Argumen dapat kosong,  satu atau beberapa argumen (parameter).

Contoh : 

$ ls                                    tanpa argumen

$ ls –a                               option adalah –a = all, tanpa argumen

$ ls /bin                           tanpa option, argumen adalah /bin

$ ls /bin /etc /usr         ada 3 argumen

$ ls –l /usr                       1 option dan 1 argumen l = long list 

$ ls –la /bin /etc            2 option –l dan –a dan 2 argumen 

 

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:

-  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 user-user “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.

 

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:

Tujuh kolom tersebut  masing-masing memiliki arti sebagai berikut:

 

Kolom  1: username

Kolom  2: password yang di-shadow

Kolom  3: UID atau User ID

Kolom  4: GID atau Group ID

Kolom  5: Keterangan tentang user tersebut

Kolom  6: Lokasi Home direktori

Kolom  7: Shell default user

 

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.

Menambah User

Untuk menambah user, gunakan salah satu perintah berikut:

adduser <nama user>

Atau

useradd <nama user>

 

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

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.

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

 

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

Perintah-Perintah Pengaturan User

Selain menambah dan menghapus user, terdapat beberapa perintah lain yang berkaitan dengan pengaturan user. Perintah-perintah ini adalah :

passwd <nama user>

Perintah untuk mengganti password seorang user 

chfn <nama user>

Perintah untuk mengganti informasi tentang user

chown <nama user> <nama file/direktori>

Perintah mengganti kepemilikan sebuah file atau direktori

chsh <nama user>

Perintah untuk mengganti shell default seorang user

chage <nama user>

Perintah untuk mengganti umur password seorang user

chgrp <nama group> <nama file>

Perintah mengganti kepemilikan  group dari sebuah file atau direktori

groupmod <option> <nama group>

Perintah memodifikasi sebuah group

usermod <option> <nama user>

Perintah memodifikasi login seorang user

groupadd <nama group>

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

groupdel <nama group>

Perintah menghapus s ebuah group

Mematikan dan Merestart Sistem

Untuk merestart Linux, dapat dilakukan dengan mengetikkan kombinasi tombol Ctrl+Alt+Del atau meng-klik tombol shutdown di prompt login X-Windows. 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

 

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 me-mount sebuah  block device yang memiliki  filesystem. Perintahnya adalah sebagai berikut:

mount -t <filesystem> -o <opt> <device> <mount point>

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:

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.

 

PERCOBAAN:

1.       Login sebagai user. 

2.       Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini 

3.       Selesaikan soal -soal  latihan

 

Percobaan 1 : Melihat identitas diri (nomor id dan group id)

$ id 

Percobaan 2 : Melihat tanggal dan kalender dari sistem

1.  Melihat tanggal saat ini 

$ date

 2.  Melihat kalender

$ cal 9 2002

$ cal -y


 

Percobaan 3 : Melihat identitas mesin

$ hostname

$ uname

$ uname -a

 

Percobaan 4 : -

 1.  Mengetahui siapa saja yang sedang aktif

$ w

$ who

$ whoami

 

2.  Mengubah informasi finger

$ chfn <user>

Changing finger information for student.

Password:

Name[user wks]: <Nama Pengguna di wks>

Office[]: Lab Pemrograman 2

Office Phone []: 2301

Home Phone []: 5947280

 

Finger information changed.

 

3.  Melihat  informasi finger

$ finger

$ finger <user>  

 

Percobaan 5 : Menggunakan manual

$ man ls

$ man man

$ man –k file

$ man 5 passwd

Percobaan 6 : Menghapus layar 

$ clear

Percobaan 7 : Mencari perintah yang deskripsinya mengandung kata kunci yang dicari

$ apropos date

$ apropos mail

$ apropos telnet

 


 

Percobaan 8 : Mencari perintah yang tepat sama dengan kunci yang dicari

$ whatis date

 

Percobaan 9 : Manipulasi berkas (file) dan direktori

1.  Menampilkan current working directory

$ ls

 

2.  Melihat semua file lengkap

$ ls –l

 

3.  Menampilkan semua file atau direktori yang tersembunyi 

$ ls –a

 

4.  Menampilkan semua file atau direktori tanpa proses sorting

$ ls –f

 

5.  Menampilkan isi suatu direktori 

$ ls /usr

 

6.  Menampilkan isi direktori root

$ ls /

 

7.  Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk direktori, tanda asterik (*) untuk file yang bersifat executable, tanda (@) untuk file symbolic link, tanda (=) untuk socket, tanda (%) untuk whiteout dan tanda (|) untuk FIFO.

$ ls –F /etc

 

8.  Menampilkan file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya. 

$ ls –l /etc

 

9.  Menampilkan semua file dan isi direktori.  Argumen ini akan menyebabkan proses berjalan agak lama, apabila proses akan dihentikan dapat menggunakan ^c 

$ ls –R /usr

 

Percobaan 10 : Melihat tipe file

$ file

$ file *

$ file /bin/ls