Disusun oleh:
| Dhika Karya P. | (25051204086) |
| M. Anwar Romadlon | (25051204143) |
| M. Daffa Firmansyah | (25051204219) |
| Rafino Fadhil Al Huda | (25051204184) |
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam era digital saat ini, pengelolaan infrastruktur IT menjadi semakin kompleks dan kritis. Setiap organisasi, baik kecil maupun besar, membutuhkan pemahaman mendalam tentang administrasi sistem Linux. Linux dipilih karena merupakan sistem operasi yang stabil, aman, dan banyak digunakan dalam environment produksi di seluruh dunia.
- Pentingnya penguasaan CLI (Command Line Interface) Linux dalam administrasi server merupakan fondasi yang tidak dapat ditinggalkan. Administrator yang mahir menggunakan CLI dapat melakukan tugas-tugas kompleks dengan efisien dan presisi.
- Kebutuhan konfigurasi jaringan dan sistem dalam sistem modern semakin meningkat seiring berkembangnya aplikasi berbasis web. Kemampuan manajemen file, direktori, dan proses menjadi kunci produktivitas.
- Ancaman keamanan cyber terus berkembang dan menjadi tantangan serius bagi setiap organisasi. Penguasaan permission dan ownership merupakan aspek kritis dalam menjaga keamanan dan integritas sistem.
1.2 Rumusan Masalah
- Bagaimana penggunaan CLI Linux secara efektif dalam manajemen sistem dan administrasi server?
- Bagaimana melakukan navigasi dan manajemen file dengan menggunakan command line interface?
- Bagaimana mengatur permission dan ownership file secara optimal untuk keamanan sistem?
1.3 Tujuan
- Menguasai perintah dasar Linux dan operasi command line interface untuk manajemen sistem
- Mampu melakukan navigasi direktori dan manipulasi file dengan efisien
- Melakukan pengujian keamanan menggunakan tools yang diakui industri
- Memahami dan mengimplementasikan permission dan ownership di Linux
- Menguasai manajemen proses dan service menggunakan systemd
1.4 Manfaat
- Mahasiswa memahami konsep dasar Linux dan arsitektur sistem operasi open-source
- Mahasiswa mampu menerapkan CLI commands dalam konteks praktikum administrasi sistem
- Mahasiswa dapat mengembangkan kemampuan problem solving dalam manajemen sistem berbasis Linux
BAB II
TINJAUAN PUSTAKA
2.1 Konsep Teori
- Efisiensi tinggi - dapat melakukan banyak tugas dengan perintah singkat
- Akses remote - dapat mengelola server jarak jauh melalui SSH
- Automation - dapat membuat script untuk otomasi tugas-tugas berulang
- Kontrol penuh - akses ke fitur sistem yang tidak tersedia di GUI
2.1.1 Konsep Linux
Linux adalah sistem operasi open-source yang didasarkan pada kernel Linux yang dikembangkan oleh Linus Torvalds. Linux menawarkan stabilitas tinggi, keamanan yang baik, dan fleksibilitas dalam konfigurasi. Berbagai distribusi Linux tersedia (Ubuntu, CentOS, Debian, dll) yang masing-masing memiliki karakteristik unik.
2.1.2 Struktur Direktori Linux
Linux menggunakan struktur direktori hierakis yang dimulai dari root (/) dengan berbagai direktori standar:
| Direktori | Fungsi |
|---|---|
/ |
Root directory, direktori utama sistem Linux |
/home |
Direktori home untuk setiap user |
/root |
Direktori home khusus user root |
/etc |
Menyimpan file konfigurasi sistem |
/var |
Menyimpan data yang berubah-ubah seperti log dan cache |
/tmp |
Direktori file sementara (temporary files) |
/usr |
Menyimpan aplikasi dan utility user |
/bin |
Berisi binary executable command dasar Linux |
/sbin |
Binary executable untuk administrasi sistem |
/opt |
Lokasi instalasi aplikasi tambahan atau third-party |
/dev |
Representasi device hardware dalam bentuk file |
/proc |
Virtual filesystem untuk informasi kernel dan proses |
/boot |
Menyimpan file bootloader dan kernel Linux |
/lib |
Library penting untuk binary sistem |
/media |
Mount point media eksternal seperti flashdisk |
/mnt |
Mount point sementara untuk filesystem |
/srv |
Data untuk service/server tertentu |
/run |
Menyimpan runtime data sistem dan service aktif |
/lost+found |
Direktori recovery filesystem setelah crash/error |
2.1.3 Command Line Interface (CLI)
CLI adalah antarmuka berbasis teks untuk berinteraksi dengan sistem operasi. Dengan CLI, seorang administrator dapat melakukan tugas-tugas kompleks dengan cepat dan presisi, serta mengotomatisasi pekerjaan berulang dengan script.
`| Perintah | Fungsi | Contoh |
|---|---|---|
pwd |
Menampilkan direktori saat ini | pwd |
ls |
Menampilkan isi direktori | ls |
ls -la |
Menampilkan file beserta permission dan ownership | ls -la |
cd |
Berpindah direktori | cd /var/www |
mkdir |
Membuat direktori baru | mkdir backup |
rmdir |
Menghapus direktori kosong | rmdir backup |
touch |
Membuat file kosong | touch file.txt |
cp |
Menyalin file | cp file.txt backup.txt |
cp -r |
Menyalin folder secara rekursif | cp -r app backup |
mv |
Memindahkan atau rename file/folder | mv app app_backup |
rm |
Menghapus file | rm file.txt |
rm -rf |
Menghapus folder beserta seluruh isinya | rm -rf backup |
cat |
Menampilkan isi file | cat package.json |
nano |
Edit file menggunakan nano editor | nano nginx.conf |
vim |
Edit file menggunakan vim editor | vim nginx.conf |
clear |
Membersihkan terminal | clear |
history |
Menampilkan riwayat command | history |
top |
Monitoring proses secara real-time | top |
htop |
Monitoring proses dengan tampilan interaktif | htop |
ps |
Menampilkan proses berjalan | ps aux |
kill |
Menghentikan proses berdasarkan PID | kill 1234 |
pkill |
Menghentikan proses berdasarkan nama | pkill nginx |
chmod |
Mengubah permission file/folder | chmod 755 script.sh |
chown |
Mengubah owner file/folder | chown root:root file.txt |
df -h |
Menampilkan penggunaan disk | df -h |
du -sh |
Menampilkan ukuran folder | du -sh uploads |
free -h |
Menampilkan penggunaan RAM | free -h |
uname -a |
Menampilkan informasi kernel Linux | uname -a |
hostname |
Menampilkan hostname sistem | hostname |
ip a |
Menampilkan konfigurasi IP address | ip a |
ping |
Menguji koneksi jaringan | ping google.com |
curl |
Mengambil data dari URL | curl https://example.com |
wget |
Mengunduh file dari internet | wget file.zip |
ssh |
Koneksi remote server via SSH | ssh user@server |
ssh-copy-id |
Mengirim SSH public key ke server | ssh-copy-id user@server |
scp |
Transfer file melalui SSH | scp file.txt user@server:/home |
systemctl status |
Melihat status service | systemctl status nginx |
systemctl start |
Menjalankan service | systemctl start nginx |
systemctl restart |
Restart service | systemctl restart nginx |
systemctl stop |
Menghentikan service | systemctl stop nginx |
systemctl enable |
Mengaktifkan auto-start service | systemctl enable nginx |
journalctl |
Melihat log systemd | journalctl -u nginx |
apt update |
Update repository package | sudo apt update |
apt upgrade |
Upgrade package sistem | sudo apt upgrade |
apt install |
Install package | sudo apt install nginx |
reboot |
Restart sistem | sudo reboot |
shutdown |
Mematikan sistem | sudo shutdown now |
Keuntungan CLI
2.2 Jaringan Komputer Dasar
- TCP/IP - protokol dasar internet yang guarantee delivery
- HTTP - protokol untuk web (port 80)
- HTTPS - HTTP dengan enkripsi SSL/TLS (port 443)
- SSH - Secure Shell untuk akses remote (port 22)
2.2.1 IP Address dan Port
IP Address adalah identifikasi unik untuk setiap device dalam jaringan. IPv4 menggunakan format xxx.xxx.xxx.xxx (0-255 untuk setiap oktet). Port adalah nomor logis (0-65535) yang mengidentifikasi service spesifik pada sebuah host.
2.2.2 Protokol Jaringan
BAB III
IMPLEMENTASI
3.1 Akses Awal ke VPS (SSH Connection)
-
Generate SSH Key
ssh-keygen -t ed25519 -f ~/.ssh/jcas_api_node_03_new/id_ed25519Gambar 3.1.1 Generate SSH -
Struktur file
~/.ssh/jcas_api_node_03_new/id_ed25519 (private key)
~/.ssh/jcas_api_node_03_new/id_ed25519.pub (public key) -
Upload Public Key ke VPS
ssh-copy-id -i ~/.ssh/jcas_api_node_03_new/id_ed25519.pub dhikaryast@IP_VPSGambar 3.1.3 Upload Public Key ke VPS -
Koneksi ke VPS
-
Cara Langsung
ssh -i ~/.ssh/jcas_api_node_03_new/id_ed25519 dhikaryast@IP_VPS -
Menggunakan Config
-
Ketik
nano ~/.ssh/config -
Tambahkan
Host vps-jcas_api_node_03
HostName IP_VPS
User dhikaryast
IdentityFile ~/.ssh/jcas_api_node_03_new/id_ed25519
IdentitiesOnly yes -
Lalu Cukup
ssh vps-jcas_api_node_03
-
Ketik
-
Cara Langsung
-
Gambar 3.1.5 Koneksi ke VPS dengan SSH
SSH (Secure Shell) adalah protokol jaringan yang digunakan untuk
mengakses dan mengelola server atau VPS secara remote melalui terminal
dengan koneksi terenkripsi. SSH memungkinkan administrator melakukan
kontrol penuh terhadap sistem Linux tanpa harus berada langsung di
depan server fisik.
Tujuan
Menghubungkan client (laptop) ke VPS menggunakan protokol SSH sebagai
dasar administrasi sistem jarak jauh.
Konfigurasi SSH Client
3.2 Implementasi CLI Linux
-
Navigasi dan Manajemen File
Perintah dasar untuk navigasi dan manajemen file:-
ls - menampilkan isi direktori
ls
Gambar 3.2.1 ls -
cp -r - menyalin folder beserta seluruh isi direktori secara
rekursif
cp -r jagocashier_api_v_st apps
Gambar 3.2.2 cp -r -
cd - berpindah direktori
cd apps
Gambar 3.2.3 cd -
mkdir - membuat direktori baru
mkdir jagocashier_backup
Gambar 3.2.4 mkdir -
mv - memindahkan atau mengganti nama file/folder
mv jagocashir_api_v_st apps/jagocashier_backup/v1/jagocashier_api_v_st_v1Gambar 3.2.5 mv -
cat - menampilkan isi file
cat package.json
Gambar 3.2.6 cat -
rm -rf - menghapus direktori beserta seluruh isinya secara paksa
dan rekursif
rm -rf apps/jagocashier_backup/v1/jagocashier_api_v_st_v1
Gambar 3.2.7 rm -rf
-
ls - menampilkan isi direktori
-
Permission dan Ownership
Perintah dasar untuk Permission dan Ownership:-
ls -la - menampilkan daftar file beserta permission dan
ownership
ls -la
Gambar 3.2.8 ls -la -
chmod - mengubah permission file atau direktori
chmod -R 700 .git
Gambar 3.2.9 chmod -
chown - mengubah owner dan group file atau direktori
sudo chown root:root .git
Gambar 3.2.10 chown
-
ls -la - menampilkan daftar file beserta permission dan
ownership
-
Manajemen Proses
Perintah untuk monitoring dan manajemen proses:-
ps - menampilkan proses yang sedang berjalan
ps
Gambar 3.2.11 ps -
top - memonitor penggunaan resource dan proses secara
real-time
top
Gambar 3.2.12 top -
pkill - menghentikan proses berdasarkan nama proses
pkill code
Gambar 3.2.13 top status
Gambar 3.2.14 pkill
-
ps - menampilkan proses yang sedang berjalan
-
Manajemen Service (systemd)
Perintah service menggunakan systemd:-
systemctl status nginx
Gambar 3.2.15 systemctl status nginx -
systemctl start nginx
Gambar 3.2.16 systemctl start nginx -
systemctl enable nginx
Gambar 3.2.17 systemctl enable nginx
-
systemctl status nginx
BAB IV
KESIMPULAN DAN SARAN
4.1 Kesimpulan Umum
- Penguasaan Command Line Interface (CLI) Linux telah berhasil didemonstrasikan melalui implementasi praktis berbagai perintah dasar untuk navigasi, manajemen file, dan kontrol sistem.
-
Implementasi struktur direktori Linux menunjukkan bahwa organisasi hierakis root (/) memfasilitasi manajemen sistem yang terstruktur dan mudah dipahami.
- Penggunaan permission dan ownership dengan chmod dan chown terbukti efektif dalam mengimplementasikan keamanan berbasis user dan group dalam sistem.
- Manajemen proses menggunakan ps, top, dan pkill memungkinkan administrator untuk memonitor dan mengontrol resource sistem secara real-time.
- Integrasi systemd sebagai service manager modern menunjukkan evolusi dari init system tradisional ke pendekatan yang lebih efisien dan terstruktur.
4.2 Pencapaian Tujuan Praktikum
- Pemahaman konsep Linux dan CLI tercapai dengan baik - Mahasiswa berhasil memahami perintah dasar, struktur direktori, dan konsep keamanan file system.
- Penerapan praktis CLI commands tercapai - Implementasi berbagai perintah menunjukkan penerapan konsep teoritis ke dalam praktik administrasi sistem.
- Kemampuan manajemen sistem - Mahasiswa mampu menggunakan systemd untuk mengatur service dan automation.
4.3 Saran
- Untuk pengembangan lebih lanjut, disarankan untuk memperdalam pemahaman tentang shell scripting (bash/shell script) guna mengotomatisasi task-task berulang dalam administrasi sistem.
- Penambahan latihan praktik tentang advanced permission management seperti ACL (Access Control List) dan selinux dapat meningkatkan pemahaman tentang keamanan sistem yang lebih detail.
- Integrasi dengan praktikum networking dan keamanan sistem akan memberikan konteks yang lebih lengkap tentang bagaimana CLI digunakan dalam administrasi infrastruktur enterprise.
- Pengujian langsung pada sistem Linux fisik (bukan hanya virtual environment) sangat penting untuk memastikan kemampuan praktis mahasiswa dalam real-world scenarios.



















Tidak ada komentar:
Posting Komentar