Skip to content

zaidan's blog

a newbie, writing IT-related stuff and some personal experiences

Menu
  • IT
  • Personal life/opinion
  • Linux
  • Sepeda
  • Proxmox
  • VM/Container
  • Kuliah/Catatan Kuliah
Menu

Permission di Linux – part 1

Posted on 12/01/2024 by Zaidan

Hai semuanya, apa kabar? Kali ini saya mau berbagi lagi tentang Linux, setelah tulisan sebelumnya kan personal, sekarang balik lagi ke Linux hehehe.

Pada Linux, file dan direktori memiliki izin atau tersendiri. Mungkin teman-teman sudah tahu bagaimana cara cek izin dari suatu file atau direktori. Yaitu dengan menggunakan perintah ls -l. Untuk pengujian pada tulisan kali ini, saya menggunakan file skrip kemarin (yang digunakan untuk mengirimkan informasi disk usage via Telegram).

Kita coba cek izin dari file tersebut:

[user@localhost ~]$ ls -l penyimpanan.sh
-r-xr--r--. 1 user user 463 Jan 9 10:08 penyimpanan.sh

Nah, terdapat field yang penting dalam kita belajar tentang izin di Linux. Terdapat 10 bit pada field izin tersebut. File penyimpanan.sh pada field tersebut memiliki nilai -r-xr--r--.

Pada bit pertama merepresentasikan jenis file. Apabila bernilai d artinya adalah direktori, namun apabila bernilai – artinya file biasa.

Biar lebih gampang, saya coba ilustrasiin di gambar 1

image host

gambar 1

Untuk bit selanjutnya (9 bit) dibagi menjadi tiga bagian. User/owner, grup, dan other. Jenis izin juga dibagi tiga, yaitu izin baca (read- r), tulis (write- w), dan eksekusi/menjalankan (execute- x). Apabila tidak memiliki izin, maka dilambangkan dengan -. Pada gambar 1, artinya file penyimpanan.sh untuk pemilik file memiliki akses read dan execute, untuk grup dan otherĀ hanya memiliki akses read.

Kita coba yuk. Kan untuk user/owner punya hak akses baca dan eksekusi, nah kita coba deh eksekusi tapi tanpa sudo, bisa atau nggak ya? Karena sudo itu perintah yang memungkinkan kita untuk bisa jalanin perintah dengan tingkat privilege yang lebih tinggi. Biasanya kita dapat menjalankan perintah sebagaimana root user.

image host

gambar 2

Mungkin agak membingungkan. Skrip berjalan, berhasil kirim notifikasi, tapi kok ada pesan eror ya? Permission denied. Dan pada notifikasi tidak menampilkan keterangan hari yang sesuai (pembuatan tulisan ini pada 10/1). Hmm kenapa ya?

Yuk kita amati. Kita lihat kode di bawah:

[user@localhost ~]$ cat penyimpanan.sh
#!/bin/bash


echo "Penggunaan Disk Tanggal $(date +'%d/%m/%Y')" > /home/user/penyimpanan.log

df -h / | awk 'NR==2 {print "Filesystem:", $1; print "Size:", $2; print "Used:", $3; print "Avail:", $4; print "Use%:", $5; print "Mounted on:", $6}' >> /home/user/penyimpanan.log

isi_log=$(cat /home/user/penyimpanan.log)
curl -s -F chat_id=<ini chat id> -F text="$isi_log" https://api.telegram.org/bot<ini bot token>/sendMessage >/dev/null


[user@localhost ~]$ ls -l penyimpanan.log
-rw-r--r--. 1 root root 130 Jan 9 10:30 penyimpanan.log

Ketemu penyebabnya. Pada skrip penyimpanan.sh, terdapat perintah untuk menyimpan tulisan judul yang disertai tanggal terkini dan juga status penyimpanan ke dalam file penyimpanan.log. Nah, saat pengujian tadi terdapat eror karena kita tidak menjalankan skrip dengan sudo dan juga karena file penyimpanan.log tidak memberikan hak akses execute apabila tidak menggunakan sudo/root.

Jadi, walaupun file penyimpanan.sh memberikan aksesĀ eksekusi kepada owner, namun tidak dengan file penyimpanan.log. Sehingga notifikasi tetap dikirim namun tidak berisi informasi terkini karena file penyimpanan.log tidak memberikan akses tersebut.

Nah, selanjutnya kita coba gunakan akses write pada file penyimpanan.sh, apakah bisa kita edit tanpa menggunakan sudo? Kita coba gunakan perintah nano penyimpanan.sh untuk edit file tersebut.

image host

gambar 3

Saat mencoba edit menggunakan nano, terdapat tulisan File … is unwriteable. Namun kita masih bisa menulis pada file tersebut. Namun, saat kita coba simpan file tersebut (ctrl+x lalu Y), tidak bisa disimpan: Permission denied. Kita tidak bisa menulis atau mengubah file tersebut karena tidak diberikan akses write.

Namun, saat pengujian menggunakan vi editor, sama-sama menampilkan

-- INSERT -- W10: Warning: Changing a readonly file
Press ENTER or type command to continue

dan file masih bisa diedit apabila “dipaksa” save menggunakan perintah :wq!

Untuk tulisan kali ini akan dilanjutkan di tulisan yang akan datang yaa.. Bye~

 

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tulisan saya yang lain:

  • Datacenter
  • Manajemen File di Linux – part 3 – Ekstensi File di Linux
  • Penggunaan Dasar GNOME3 di Red Hat Enterprise Linux 8
  • Menandai VM/CT di Proxmox VE

Arsip blog

  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
© 2025 zaidan's blog | Powered by Superbs Personal Blog theme