Selasa, 27 Desember 2016

Startup dan Shutdown pada Linux

Startup
Proses startup dimulai ketika sistem sudah memanggil LILO dan proses booting sudah diserahkan pada sebuah program induk yang disebut dengan init. Pada hampir kebanyakan distribusi Linux, proses startup mengikuti aturan-aturan seperti berikut :
     1. Eksekusi LILO
   2. LILO Memuat secondary loader pada /boot/chain.b /boot/chain.b menjalankan Kernel Linux. Sampai pada bagian ini, seorang pengguna akan melihat tampilan pesan pada layar seperti menjalankan daemon, memerika integritas perangkat keras, dan
sebagainya.
    3. Kernel menyerahkan tugasnya kepada init.
    4. Init menjalankan berbagai program di belakang layar yang dibutuhkan oleh seorang user untuk login ke dala sistem.
    5. Init memanggil program yang digunakan untuk login.


Proses Startup pada tiap Distribusi
Setelah init mengambil alih tugas booting sistem dari LILO atau GRUB, init akan menjalankan sistem sesuai dengan default run level yang digunakan. Pada beberapa distribusi, penanganan run level ini berbeda satu dengan lainnya.
Run Level pada Linux : 
Run Level 0 : /etc/rc.d/rc0.d
Seperti yang anda lihat pada tabel diatas, run level 0 akan menjalankan sekumpulan script yang digunakan untuk shutdown. Script pada run level ini akan menjalankan proses seperti berikut :
1. Mematikan semua proses yang sedang berjalan.
2. Mematikan file virtual memory yang di swap.
3. Melakukan proses unmounting swap dan filesistem yang di mount.
b. 1 Single user mode
Run Level 1: /etc/rc.d/rc1.d
Run Level 1 merupakan single user mode, atau merupakan mode untuk melakukan administrasi, run level ini digunakan seorang sistem administrator untuk melakukan perawatan software.
Untuk masuk kedalam mode ini pada waktu boot ketikkan perintah seperti berikut ini:
     1. boot : linux single
Dengan demikian akan langsung masuk kedalam run level 1 dengan melewati berbagai argumen yang ada pada kernel.
     2. Multi user, tidak ada NFS
Run Level 2: /etc/rc.d/rc2.d
Runlevel 2 merupakan multiuser mode. Pada run level ini fungsi untuk networking bisa dijalankan kecuali untuk network file system (NFS). Pilihan ini berguna jika anda hanya menjalankan komputer PC anda untuk stand alone.
     3. Full multiuser mode
Run Level 3: /etc/rc.d/rc3.d
Runlevel 3 merupakan default run level yang ada pada file /etc/inittab. Untuk distribusi keluaran akhir seperti redhat 7.0 menggunakan runlevel 5 sebagai defaultnya.
     4. Unused (tidak digunakan)
Run Level 4: /etc/rc.d/rc4.d
Runlevel 4 digunakan sebagai run level yang bisa anda setting kembali untuk menjalankan run level anda sendiri. Dengan demikian anda bisa membuat run level dengan meletakkan file-file yang ingin anda gunakan atau tidak anda gunakan dengan cara membuat file-file yang memiliki simbolik link ke direktori atau file lain yang telah anda pilih.
     5. X11
Run Level 5: /etc/rc.d/rc5.d
Run level 5 digunakan untuk menjalankan aplikasi pada X window. Pada run level ini banyak servis networking yang juga diaktifkan.
     6. reboot
Run Level 6: /etc/rc.d/rc1.d
Run level 6 digunakan untuk reboot sistem. Isi dari direktori pada level ini merupakan link yang sama dengan runlevel 0, akan tetapi pada script yang yang digunakan untuk mematikan sistem diganti dengan script yang digunakan untuk mereboot komputer

Contoh isi file /etc/inittab  :
      id:3:initdefault:    
Keterangan :
§ Baris di atas menunjukkan bahwa pada saat dijalankan sistem akan masuk ke run level 3.
      1:2345:respawn:/sbin/getty 9600 tty1      
Keterangan :
§ Kolom pertama menunjukkan bahwa baris ini untuk /dev/tty1
§ Kolom kedua menunjukkan bahwa baris ini diterapkan untuk run level 2,3,4,dan 5.
§ Kolom ketiga berarti bahwa perintah /sbin/getty akan dijalankan lagi apabila berhenti.
§ Kolom terakhir menunjukkan program /sbin/getty akan dijalankan pada virtual console yang pertama.

1.6. Memeriksa runlevel saat ini
Untuk memeriksa runlevel yang saat ini sedang berlaku dapat dilakukan dengan dua cara, yaitu:
1. Menggunakan perintah who

2. Menggunakan perintah runlevel


1.7. Mengganti runlevel
Sintaks:
    init [runlevel]    
Contoh:
1. Menjalankan runlevel 0 atau melakukan proses shutdown
# init 0
2. Menjalankan runlevel 1 atau masuk ke modus single user
# init 1

1.8. Script Inisialisasi
Script yang akan dijalankan sesuai dengan run level. Disimpan di direktori sesuai run level, dibawah
direktori /etc/rc.d/rc[x].d berupa file symbolic link. Script asli disimpan di
/etc/rc.d/init.d.

Catatan:
File yang diawali oleh huruf S (Start) merupakan file untuk menjalankan service tersebut sedang
apabila diawali oleh huruf K (Kill) berarti untuk menghentikan service yang bersangkutan.

SHUTDOWN

Sebelum mesin dimatikan (power off), sebaiknya sistem di shutdown dulu dengan
perintah/sbin/shutdown . Perintah tersebut akan melakukan halhal
berikut :
1. Memberitahukan kepada user yang login bahwa sistem akan dimatikan.
2. Menghentikan seluruh proses yang masih berjalan.
3. Melakukan unmount filesystem.
4. Menyimpan seluruh file yang masih di memori ke harddisk.
Sintaks :
shutdown [pilihan] [waktu] [pesan]









Senin, 26 Desember 2016

SISTEM ADMINISTRATOR DI LINUX

Semua berkas dalam sistem Linux mempunyai hak akses yang dapat mengizinkan atau mencegah orang lain dari menilik, mengubah atau mengeksekusi.
Pengguna super “root” mempunyai kemampuan untuk mengakses setiap berkas dalam sistem. Setiap berkas memiliki pembatasan akses, pembatasan pengguna, dan memiliki asosiasi pemilik/grup.
Setiap berkas dilindungi oleh tiga lapis hak akses berikut ini:
  • penggunaberlaku bagi pengguna yang adalah pemilik dari suatu berkas
  • grupberlaku bagi grup yang berhubungan dengan suatu berkas
  • lainnyaberlaku bagi semua pengguna lainnya
Di dalam setiap dari tiga setelan hak izin ada hak izin sesungguhnya. Hak izin, dan cara penggunaannya untuk berkas dan direktori, diuraikan dibawah ini:
  • bacaberkas dapat ditampilkan/dibukaisi direktori dari ditampilkan
  • tulisberkas dapat disunting atau dihapusisi direktori dari dimodifikasi
  • eksekusiberkas eksekusi dapat dijalankan sebagai programdirektori dapat dimasuki
Untuk menilik dan menyunting hak izin pada berkas dan direktori, buka Applications->Accessories->Home Folder dan klik kanan di berkas atau direktori. Kemudian pilih Properties. Info hak izin ada di tab Permissions
Mengatur Hak Akses di LinuxTidak sedikit pengguna Linux pemula yang mengalami kebingungan karena tidak dapat mengoperasikan suatu program atau mengakses sebuah file atau direktori dikarenakan oleh hak akses yang ada pada setiap file dan direktori yang ada pada Linux.
Dua perintah (program) dalam Linux yang digunakan untuk mengatur hak akses tersebut adalah chmod dan chown. Program chmod digunakan untuk mengubah hak akses suatu file, sedangkan chown digunakan untuk mengganti pemilik file tersebut.
Sebelum melangkah lebih jauh mengenai penggunaan perintah diatas, sebelumnya perlu dijelaskan terlebih dahulu mengenai hak akses di dalam Linux.
Karakter Arti Nilai
r (read) Hak akses untuk membaca 4
w (write) Hak akses untuk menulis 2
x (exec) Hak akses untuk menjalankan 1
Hak Akses Nilai Arti
— 0 Tidak memiliki hak akses (tidak dapat di akses)
r– 4 Dapat dibaca dan ditulis (diedit)
rw- 6 Dapat dibaca dan ditulis (diedit)
rwx 7 Dapat dibaca, ditulis dan dieksekusi (dijalankan)
r-x 5 Dapat dibaca dan dijalankan, tetapi tidak dapat diedit
–x 1 Hanya dapat dijalankan
Contoh:
  • -rw-rw-r– 1 postgres postgres 41527 Jul 12 2001 summary.pdf
  • drwxrwxr-x 2 postgres postgres 4096 Sep 20 2002 Suse
  • -rw-r–r– 1 root root 4935 Aug 23 2001 T123456.log
  • -rw-r–r– 1 postgres postgres 13335 Apr 10 17:04 tchart2.java
Karakter pertama menunjukkan jenisnya, jika berisi karakter d, berarti itu adalah direktori sedangkan jika kosong berarti file. Sembilan karakter berikutnya menunjukkan hak aksesnya, dengan tiga karakter pertama menunjukkan hak akses untuk user tersebut, tiga karakter berikutnya menunjukkan hak akses untuk grup nya dan tiga karakter terakhir menunjukkan hak akses untuk user lain.
  • -rw——- 600 Pemilik memiliki hak akses baca dan tulis, sedangkan orang lain tidak memiliki hak akses apapun. Set dengan hak akses ini supaya file anda tidak dapat dibaca orang lain, biasanya digunakan untuk file-file dokumen
  • -rw-r–r– 644 Pemilik memiliki hak akses baca dan tulis sedangkan orang lain hanya dapat membaca saja. Gunakan hak akses ini jika anda ingin orang lain dapat membaca file anda
  • -rw-rw-rw- 666 Dengan hak akses ini, orang lain juga akan dapat membaca dan merubah file anda
  • -rwx—— 700 Pemilik dapat membaca, menulis dan menjalankan file ini, hak akses ini yang biasanya digunakan untuk menjalankan program
  • -rwxr-xr-x 755 Pemilik memiliki hak akses baca, tulis dan menjalankan file ini, sedangkan orang lain hanya dapat membaca dan menjalankan file tersebut
  • drwx—— 700 Hanya pemilik yang dapat mengakses, membaca dan menulis pada direktori tersebut. Setiap direktori harus memiliki hak akses x untuk dapat diakses
  • drwxr-xr-x 755 Isi direktori ini hanya dapat dirubah oleh pemilik, tetapi orang lain dapat membaca isi direktori tersebut
Menggunakan Perintah chmod
Untuk menggunakan chmod, perintahnya adalah:
misalnya:
# chmod 644 coba.txt
perintah tersebut akan mengubah hak akses file coba.txt menjadi seperti berikut:
Untuk mengganti hak akses sebuah direktori beserta dengan isinya, gunakan parameter R, dengan parameter tersebut, chmod akan dijalankan secara rekursif, misalnya seluruh file yang ada pada direktori /home/user/public_html akan dirubah hak aksesnya menjadi 755, maka perintahnya adalah sebagai berikut:
# chmod R 755 /home/user/public_html
Menggunakan Perintah chown
Perintah chown digunakan untuk mengganti pemilik sebuah file, perintah ini hanya dapat digunakan oleh user root. Perintah ini hanya dapat digunakan oleh user root. Perintahnya adalah sebagai berikut:
misalnya:
# chown user.user coba.txt
perintah chown juga dapat digunakan dengan menggunakan parameter R, contohnya adalah sebagai berikut:
# chown R apache.apache /var/www/html
Perintah chattr
Seringkali secara tidak sengaja kita menghapus atau mengedit sebuah file penting, di dalam Linux tidak ada fasilitas undelete, jadi file yang telah terhapus tidak dapat dikembalikan lagi.
Perintah (program) chattr digunakan untuk melindungi sebuah file sehingga tidak akan dapat dihapus ataupun dirubah dengan perintah apapun. Perintah chattr memberikan atribut i pada file yang dilindungi, perintahnya:
# chattr +i namafile
misal:
# chattr +i penting.txt
setelah perintah tersebut dijalankan, gunakan perintah ls l untuk melihat hasilnya:
jika suatu ketika file ini akan diedit atau dihapus, terlebih dahulu atribut diatas harus dilepas, untuk melepasnya gunakan perintah berikut:
# chattr i namafile

Linux mengenal hak akses yang mengatur setiap user sehingga tiap user hanya dapat mengakses file-file atau direktori tertentu saja, hal ini digunakan untuk kepentingan keamanan sistem.
Setiap file dan direktori yang ada dalam sistem linux memiliki tiga buah hak akses, satu untuk user itu sendiri, kemudian untuk user dalam grup yang sama dengan pemilik file dan yang terakhir untuk user lainnya.
# chmod hakakses namafile
-rw-r–r– 1 postgres postgres 41527 Jul 12 2001 coba.txt

# chown namauser.namagrup namafile

Source : http://rickybenjamin.blogspot.co.id/2012/10/hak-akses-di-linux.html

Minggu, 25 Desember 2016

SHELL SCRIPT DAN PERINTAH - PERINTAHNYA DI LINUX

Shell Script adalah sebuah bahasa pemrograman yang disusun berdasarkan perintah - perintah shell

Jika anda menggunakan linux, maka menyusun perintah - perintah shell di dalam sebuah file shell sama seperti ketika anda membuat sebuah aplikasi. Agar artikel tidak terlalu panjang, mari kita bahas bagaimana implementasi shell script pada linux.

PERINTAH - PERITAHNYA

cd
fungsi: digunakan untuk berpindah ke direktori lain.
chmodfungsi: digunakan untuk mengatur hak akses suatu file atau direktori
clearfungsi: digunakan untuk membersihkan seluruh layar terminal
fungsi: digunakan untuk menyalin sebuah file
fungsi: digunakan untuk menampilkan tanggal dan waktu
halt
fungsi: digunakan untuk mematikan sistem
history
fungsi: digunakan untuk melihat perintah apa saja yang telah digunakan
ifconfig
fungsi: digunakan untuk melihat informasi pada kartu jaringan, seperti IP address, Mac address, dan lain-lain.
fungsi: digunakan untuk melihat isi dari suatu direktori
fungsi: digunakan untuk membuat direktori baru.
fungsi: untuk memindahkan file, bisa juga untuk merubah nama sebuah file.
nano
fungsi: digunakan untuk text editor
fungsi: digunakan untuk menggunakan password
pwd
fungsi: digunakan untuk menampilkan nama direktori dimana Anda sedang berada
reboot
fungsi: digunakan untuk menghidupkan ulang sistem/komputer
fungsi: menjalankan ulang service yang sedang berjalan.
fungsi: digunakan untuk menghapus direktori
shutdown
fungsi: sama seperti halt, digunakan untuk mematikan sistem
start
fungsi: digunakan untuk menjalankan sebuah service.
stop
fungsi: digunakan untuk menghentikan sebuah service yang sedang berjalan
sudo
fungsi: menjalankan perintah sebagai root
tar
fungsi: digunakan untuk mengekstrak file dengan format *tar.gz *.tgz
touch
fungsi: digunakan untuk membuat file baru dalam keadaan kosong.
unzip
fungsi: digunakan untuk mengekstrak atau mengurai file yang dikompress dalam bentuk *.zip
fungsi: digunakan untuk melihat siapa saja yang sedang login
header
Untuk menjalankan program yang sudah kita buat kita harus mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini
2
ls -al untuk melihat mode yang sudah kita ubah seperti di bawah ini. Nama file scriptnya adalah test.sh
3
Dengan mode seperti di atas maka program test dapat dieksekusi dengan menggunakan perintah seperti di bawah ini dan tampilannya akan seperti di bawah ini.
4
Peraturan mengenai syntax pemrograman sesuai standar POSIX dan ANSI-C.
5
Cara untuk melihat local variabel (bergabung dengan fungsi-fungsi yang ada) dengan mengetikkan perintah set. Berikut contoh set dari fungsi userdel, di dalamnya terdapat variabel bernama COMPREPLY.
6
Ada nama variabel yang sudah digunakan di dalam bash shell, sehingga kita tidak bisa menggunakan nama variabel tersebut. Cara membuat dan mengassign suatu nilai ke dalam variabel dengan deklarasi seperti di bawah ini
7
NAMA adalah nama variabel, kemudian diassign dengan value ‘Penguin’, ingat pendeklarasian variabel harus tanpa spasi, case sensitive, dan tidak menggunakan karakter khusus.
  1. Pertama Buka terminal
  1. lalu Ketik nano aa.sh
  1. setelah sudah terbuka gedit di terminal copy paste script di bawah ini.
  1. —————————————————————–
  1. #!/bin/bash#untuk Cetak Barang Yang dijual
  1. echo “Spare Part Komputer”;
  1. echo “——————“;
  1. echo “1. Motherboard”;
  1. echo “2. Processor “;
  1. echo “3. RAM “;
  1. echo “4. VGA “;
  1. echo “5. Harddisk “;
  1. echo “6. Exit      “;
read -p “Pilihan anda [1-6] :” cho;
if [ $cho -eq 1 ];
then
echo “Jumlah Barang =”;
read jum
let bayar=jum*1000000;
elif [ $cho -eq 2 ];
then
echo “Jumlah Barang =”;
read jum
let bayar=jum*2000000;
elif [ $cho -eq 3 ];
then
echo “Jumlah Barang =”;
read jum
let bayar=jum*300000;
elif [ $cho -eq 4 ];
then
echo “Jumlah Barang =”;
read jum
let bayar=jum*350000;
elif [ $cho -eq 5 ];
then
echo “Jumlah Barang =”;
read jum
let bayar=jum*400000;
elif [ $cho -eq 6 ];
then
exit 0
else
echo “Maaf Sparepart Yang anda inginkan tidak tersedia, Cek toko sebelah ”
exit 1
fi
echo “Total Bayar = Rp. $bayar”
echo “Terima Kasih Atas Kunjungan Anda”
echo “——————————–”
echo “Semoga Anda Puas Dengan Pelayanan Kami”
————————————————————————————–
  1. save dengan ekstension *.sh
1. ketik chmod 755 aa.sh
2.  ketik ./aa.sh

cp
date
ls
mkdir
mv
passwd
restart
rm
fungsi: digunakan untuk menghapus file.
rmdir
who
Bash Shell
Bash adalah singkatan dari Bourne Again SHell, versi baru dari Bourne Shell yang dikembangkan oleh Steve Bourne. Bash ini adalah shell yang paling umum digunakan pengguna Linux. Shell adalah program yang menjadi jembatan antara perintah yang dimasukkan user melalui input dari keyboard dengan sistem operasi untuk melakukan perintah yang dimasukkan user tersebut. Sekarang ini, program seperti shell ini sudah tergantikan oleh user interface yang lebih mudah digunakan.
Bagaimana Konsep dari Pemrograman Bash Shell?
Konsep kerja dari pemrograman bash shell hampir mirip dengan bahasa pemrograman lainnya. Pemrograman bash shell juga menggabungkan perintah-perintah untuk memilih suatu kondisi, memproses suatu I/O, looping, dan membuat fungsi-fungsi yang dapat dijalankan user. Konsep pemrograman bash shell ini akan mudah dipelajari apabila kita sudah mengetahui perintah-perintah sederhana yang ada di bash shell seperti whoami, cd, cat, dan lainnya. Dengan penguasaan perintah-perintah sederhana ini, pemrograman bash shell akan membuat pekerjaan user menjadi lebih efektif. Hal penting yang harus diketahui sebelum menggunakan pemrograman bash shell adalah konsep mengenai variabel, format syntax dan struktur di dalam pemrograman bash shell itu sendiri.
Format syntax dan struktur dalam bash shell programming adalah hal yang paling penting untuk diketahui. Kita dapat menulis script menggunakan editor seperti vim, emacs, gedit, dan dtpad. Namun vim dan emacs adalah yang paling cocok karena bisa membantu kita dalam membenarkan syntax dari script yang kita tulis jika kita mengaktifkan fiturnya. File script harus disimpan dalam bentuk .sh. Kemudian di headernya harus diberikan komentar bahwa script ini merupakan pemrograman berbasis bash shell seperti contoh dibawah ini.
Kemudian untuk menuliskan string harus diapit oleh tanda petik dan untuk menggunakan variabel agar dapat ditampilkan harus didahului dengan karakter ‘$’ di depan variabel tersebut.
Variabel adalah sesuatu yang nantinya akan menjadi masukkan, keluaran dan parameter dari programmer. Variabel di dalam pemrograman bash shell sama pentingnya dengan variabel dalam bahasa pemrograman lain. Variabel di dalam bash shell menggunakan huruf kapital keseluruhan untuk penulisannya. Contohnya adalah PATH, COLOR, dan sebagainya. Variabel di dalam bash shell terdiri dari tiga jenis yaitu global variabel (environment variabel) yang berlaku di semua shell, local variabel yang berlaku di dalam shell yang sedang digunakan dan user defined variabel yaitu variabel yang dibuat oleh user. Selain dibagi menjadi tiga jenis tersebut, variabel dapat dibagi berdasarkan tipe datanya yaitu string, integer, constant, dan array. Cara melihat global variabel dengan menggunakan perintah env