Pendahuluan
1.
Sudo
Sudo merupakan perintah yang tidak asing lagi ditengah
pengguna system operasi linux. Perintah
sudo sangatlah penting karena memiliki peran yang besar dalam penggunaan sistem
operasi linux.
a.
su
Dalam linux perintah su merupakan Super User atau yang
sering disebut dengan root. Dengan menggunakan root, user memiliki akses ke
seluruh filesystem di linux. Untuk dapat masuk sebagai root, dapat dilakukan
dengan menggunakan perintah su kemudian memasukkan password dari root.
Dalam pengguanaanya, root digubnakan untuk pekerjaan
yang memang diperlukan saja dan sangat tidak dianjurkan digunakan untuk
melakukan pekerjaan umum karena memiliki resiko yang berbahaya. Jika salah
mengetikkan suatu perintah maka akan merusak system.
b.
Sudo
Sudo merupakan singkatan dari Super User Do (User
biasa yang dapat bertindak sebagai Super User). Sudo merupakan sebuah program
yang terdapat pada linux yang digunakan untuk menjalankan perintah yang
membutuhkan akses dari root. Sudo hanya dapat digunakan oleh user yang
tercantum pada file /etc/sudoers.
Tujuan awal dari pembuatan
sudo adalah mengurangi resiko bahaya yang mungkin akan terjadi jika sering
menggunakan root. Oleh karena itu, program sudo dibuat untuk memungkinkan user
biasa dapat menjalankan perintah yang membutuhkan akses dari root tanpa harus
login dengan menggunakan root.
Pada saat dijalankan sudo
akan meminta password user yang menjalankan perinntah sudo tersebut, tetapi
juga bisa dibuat untuk meminta password dari root atau tanpa password sama
sekali. Secara default password yang dimasukkan akan tersimpan selama 15 menit,
dan sesudahnya user akan diminta memasukkan passwoord lagi.
c.
sudo su
Sudo su merupakan salah satu perintah dalam sistem
linux yang hanya dapat dilakukan jika user memiliki akses root. Maka sudo akan
melakukan perintah sebagai super user dan memberikan kewenangan agar user biasa
dapat bertindak seperti super user sehingga user biasa dapat dengan leluasa
menguasai sistem. Berbeda dengan sudo, perintah ini akan terus berlaku hingga
user menutup terminal, sehingga user tidak perlu memasukkan password
berkali-kali. Perlu diketahui bahwa perintah sudo su hanya biasanya hanya
digunakan pada linux Ubuntu.
2.
Systemd
Sebuah sistem operasi tentu dibangun dari beberapa
file-file atau bagian sistem yang saling mendukung satu sama lain, begitu pula
pada sistem operasi linux, terdapat istilah systemd. Systemd merupakan init
system baru di Debian Jessie yang merupakan sistem yang modular. Systemd
berbanding terbalik dengan sysvinit karena sysvinit dinilai tidak teratur dalam
pengelolaan service melalaui script sehingga systemd dinilai sebagai sebuah
sistem yang lebih sederhana.
Obyek
paling dasar yang diatur oleh systemd adalah
sebuah “unit”. Unit sendiri ada berbagai macam tipe. Yang paling sering diatur
adalah unit dengan tipe service. Hal ini
dapat dilihat pada file unit nya ada ekstensi .service . Untuk mengatur service
pada systemd, perangkat yang dipergunakan adalah systemctl.
3.
Debian Filesystem
Sistem file (file
system) atau sistem berkas merupakan struktur logika yang digunakan untuk
mengendalikan akses terhadap data yang ada pada disk. Dengan kata lain, sistem
file merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan
pengambilan data, agar mudah ditemukan dan diakses.
Hubungan antara
sistem operasi dengan sistem file adalah sistem file (file system)
merupakan interface yang menghubungkan sistem operasi dengan
disk. Ketika program menginginkan pembacaan dari hard disk atau
media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk
mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file
system) akan membuka dan membaca file tersebut, kemudian mengirimkan
informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.
Sistem operasi Linux mendukung
banyak File System yang berbeda, tapi pilihan yang umum
digunakan adalah keluarga Ext* (Ext2, Ext3 dan Ext4) dan ReiserFS. Berikut
sistem file yang umumnya digunakan pada sistem operasi Linux:
a. Ext2 (2nd
Extended)
Ext2
merupakan jenis sistem file Linux paling tua yang masih ada. Sistem file ini
pertama kali dikenalkan pada Januari 1993. File system ini
ditulis oleh Rémy Card, Theodore T. dan Stephen Tweedie. File system ini
merupakan penulisan ulang besar-besaran dari Extended file system.
Ext2 adalah sistem file yang paling ampuh di Linux dan menjadi dasar dari
segala distribusi linux.
Pada
sistem file Ext2, file data disimpan sebagai data blok. Data blok ini mempunyai
panjang yang sama dan meskipun panjangnya bervariasi di antara sistem file
Ext2, besar blok tersebut ditentukan pada saat sistem file dibuat dengan mk2fs.
Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai
2 blok. Ini berarti kita membuang setengah blok per file.
Sistem
file Ext2 menyimpan data secara hirarki standar yang banyak digunakan oleh
sistem operasi. Data tersimpan di dalam file, file tersimpan di dalam
direktori. Sebuah direktori bisa mencakup file dan direktori lagi di dalamnya
yang disebut sub direktori.
b. Ext3 (3rd Extended)
Ext3 adalah peningkatan dari sistem file
Ext2. Peningkatan ini memiliki beberapa keuntungan,diantaranya:
·
Journaling, dengan menggunakan journaling,
maka waktu recovery pada shutdown mendadak
tidak akan selama pada Ext2. Namun ini menjadi kekurangan dari Ext3, karena
dengan adanya fitur journaling, maka membutuhkan memori yang lebih
dan memperlambat operasi I/O (Input/Output).
·
Integritas data, Ext3 menjamin adanya integritas data
setelah terjadi kerusakan atau unclean shut down. Ext3 memungkinkan
kita memilih jenis dan tipe proteksi dari data.
·
Kecepatan, dari pada menulis data lebih dari sekali, Ext3
mempunyai throughput yang lebih besar daripada Ext2 karena
Ext3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal
mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
·
Mudah dilakukan migrasi, kita dapat berpindah dari sistem
file Ext2 ke sistem file Ext3 tanpa melakukan format ulang.
c. Ext4 (4th
Extended)
Ext4
merupakan peningkatan dari sistem file Ext3. Ext4 dirilis secara lengkap dan
stabil mulai dari kernel 2.6.28. Keuntungan menggunakan Ext4 adalah mempunyai
pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB = 1.048.576 TB.
Ukuran maksimum sistem file 16 TB.
d. JFS
(Journalis File System)
JFS atau
dikenal juga dengan nama IBM Journal File System merupakan
sistem file pertama yang menawarkan journaling. JFS sudah bertahun-tahun
digunakan dalam IBM AIX® OS sebelum digunakan ke GNU/Linux. JFS saat ini
menggunakan sumber daya CPU paling sedikit dibandingkan sistem file GNU/Linux
lainnya. JFS sangat cepat diformat, mounting dan fsck, serta
memiliki kinerja sangat baik, terutama berkaitan dengan deadline I/O
scheduler. Walaupun begitu, dukungan terhadap JFS tidak seluas sistem file
Ext atau Reiser FS.
e. Reiser FS
Sistem
file Reiser dibuat berdasarkan balance tree yang cepat dan
unggul dalam hal kinerja, dengan algoritma yang lebih rumit. Sistem file Reiser
juga memiliki jurnal yang cepat dan ciri-cirinya mirip sistem file Ext3. Sistem
file Reiser lebih efisien dalam pemanfaatan ruang disk, dimana dapat menghemat
disk sampai dengan 6 persen. Contohnya jika kita menulis file 100 bytes, hanya
ditempatkan dalam satu blok sementara sistem file lain menempatkannya dalam 100
blok. Reiser file system tidak memiliki pengalokasian yang
tetap untuk inode.
Direktori root pada linux memiliki beberapa direktori yang merupakan
standar direktori pada banyak distro linux, diantaranya :
a. bin
berisi file binary standar yang dapat digunakan oleh seluruh user baik
user biasa maupun super user.
b. boot
berisi file yang digunakan untuk proses booting termasuk kernel image.
c. dev
berisi file khusus yang merupakan refleksi device hardware yang dikenali
dan digunakan sistem.
d. etc
berisi file konfigurasi sistem, dan hanya dapat diakses oleh super user.
e. home
berisi direktori yang merupakan direktori home untuk user.
f.
lib
berisi file library yang digunakan untuk mendukung kinerja kernel linux.
g. mnt
direktori khusus yang disediakan untuk mounting device disk storage ke sistem dalam bentuk
direktori.
h. proc
berisi file system uyang menunjukkan data kernel setiap saat
i.
root
direktori home untuk user root.
j.
sbin
sama seperti direktori bin tetapi hanya root yang dapat menggunakan
binary-binary di dalamnya
k. tmp
berisi file sementara yang dibutuhkan saat sebuah aplikasi sedang
berjalan.
l.
usr
berisi library, binary, dokumentasi dan file lainnya hasil isntalasi
user.
m. var
berisi file-file log, mailbox, dan data-data aplikasi.
4.
OpenSSH
SSH adalah aplikasi pengganti remote login seperti
telnet, rsh, dan rlogin, yang jauh lebih aman. Dikembangkan pertamakali oleh
OpenBSD project dan kemudian versi rilis p (port) di-manage oleh team porting
ke sistem operasi lainnya, termasuk sistem operasi Linux. Fungsi utama aplikasi
ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang bisa
diperoleh adalah akses pada mode teks maupun mode grafis/X apabila
konfigurasinya mengijinkan.
Dengan
SSH, semua percakapan antara server dan klien di-enkripsi. Artinya, apabila
percakapan tersebut disadap, penyadap tidak mungkin memahami isinya. Bayangkan
seandainya Anda sedang melakukan maintenance server dari jauh, tentunya dengan
account yang punya hak khusus, tanpa setahu Anda, account dan password tersebut
disadap orang lain, kemudian server Anda diobrak-abrik setelahnya.
Ubuntu Server memperkenalkan koleksi yang kuat alat untuk
remote control dari komputer jaringan dan transfer data antara komputer
jaringan, yang disebut OpenSSH. OpenSSH
adalah versi open source dari keluarga (SSH) protokol Secure Shell untuk jarak jauh mengendalikan komputer atau
mentransfer file antara komputer. Alat tradisional yang digunakan untuk
mencapai fungsi-fungsi, seperti telnet atau rcp, merasa tidak aman dan
mengirimkan password user dalam teks-jelas saat digunakan. OpenSSH menyediakan
daemon server dan alat klien untuk memfasilitasi aman, remote control
dienkripsi dan operasi file transfer, efektif .
Percobaan :
1. Sudo
a.
Memberikan
Privileges Sudo ke Regular User Secara Eksplisit
Analisa :
menambahkan user dengan nama tanpasudo.
Analisa :
menambahkan user dengan nama bisasudo.
b.
Mengedit file
/etc/sudoers dengan menggunakan perintah su visudo
Analisa :
menambahkan previllage kepada user agar dapat menjalankan perintah sudo dapat
dilakukan dengan mengedit file /etc/sudoers dan menambahkan script :
bisasudo
ALL=(ALL:ALL) ALL .
c.
Mencoba
menjalankan perintah sudo
Analisa :
perintah ifconfig tanpa perintah sudo
tidak akan dijalankan karena user bisasudo merupakan user biasa sehingga agar dapat menjalankan
perintah ifconfig yang merupakan
perintah milik root dapat dijalankan dengan menggunakan perintah sudo ifconfig. Sedangkan user tanpasudo
belum diberikan privilage sudo
sehingga user tersebut tidak dapat menggunakan perintah sudo.
d.
Memberikan
Privileges Sudo ke Regular User dengan menggunakan group
Analisa : yang
pertama kali harus dilakukan adalah menambahkan group kemudian mengedit script
pada file /etc/sudoers dan menambahkan script :
%subadmin
ALL=(ALL:ALL) ALL . perintah sudo
ifconfig tidak berjalan pada user bisasudo karena user tersebut tidak bergabung
dalam group subadmin begitu pula dengan user tanpa sudo.
2. Systemd
a.
Melihat daftar
unit yang sedang aktif
Analisa : Kita dapat menarik beberapa informasi dari systemd untuk mendapatkan gambaran dan visibility bagaimana status dari sistem. Untuk
mendapatkan daftar unit yang berjalan atau sedang aktif dapat menggunakan
perintah systemctl list-units
b.
Melihat
daftar yang berisi semua unit yang terpasang di sistem tapi tidak di-load ke memory
Analisa : untuk mendapatkan daftar yang berisi semua unit yang
terpasang di sistem tapi tidak di-load ke memory dapat menggunakan perintah systemctl list-unit-files
c.
Menginspeksi Log
Analisa : Pada systemd, ada
sebuah komponen yang disebut journald. Journald ini mengumpulkan dan mengatur entri
jurnal dari semua bagian pada sistem. Ini sebenarnya informasi log dari berbagai aplikasi dan kernel. Untuk melihat log dan diurutkan dengan
entri terlama dapat menggunakan perintah journalctl
.
d.
Melihat waktu pada
sistem
Analisa : untuk
melihat dan mengatur waktu pada sistem dapat dengan menggunakan perintah timedatectl
3. Debian filesystem
a. Melihat direktori file sistem pada linux debian
Analisa : untuk melihat seluruh daftar direktori dapat
menggunakan perintah ls
b. Melihat hak akses pada direktori atau file
Analisa : untuk melihat hak akses pada file maka perintah yang
digunakan adalah ls –l . mengubah hak
akses dapat dengan menggunakan perintah chmod.
4. openSSH
a.
install
openSSH-server dan menjalankan remote server.
Analisa : menginstall
openssh dapat dilakukan dengan menjalankan perintah apt-get install openssh-server
. kemudian untuk menjalankan ssh melalui komputer lain dapat dengan
menjalankan perintah ssh user@ip address kemudian memasukkan
password dari komputer yang akan diremote tersebut.
b.
Remote server
menggunakan public key.
Analisa : agar
saat akan meremote server kita tidak perlu memasukkan password maka kita dapat
menggunakan public key dengan menjalankan perintah ssh-keygen kemudian enyalin key yang sudah tergenerate kedalam file
~/.ssh/id_rsa.pub. selanjutnya kita dapat langsung meremote server yang
dinginkan dengan menggunakan perintah ssh
user@ip address jika masih diminta password maka berikan perintah lagi
yaitu ssh-add kemudian ulangi
perintah remote server maka akan login otomatis tanpa perlu memasukkan password.