MODUL 13 FILE PERMISSIONS AND OWNERSHIP (ADINUSA)

File Permissions and Ownership
Pada modul ini, akan dijelaskan mengenai konsep kepemilikan dan izin akses file dalam sistem Linux. Setelah mempelajari modul ini, pengguna diharapkan mampu:
- Memahami konsep owner (pemilik), group (grup), dan world (dunia) dalam sistem file Linux.
- Mengatur hak akses file (baca, tulis, eksekusi) untuk setiap kategori pengguna.
- Melakukan autentikasi permintaan akses terhadap file sesuai dengan izin yang ditetapkan.
- Menggunakan perintah:
chmoduntuk mengubah izin file,chownuntuk mengubah kepemilikan pengguna,chgrpuntuk mengubah kepemilikan grup.
- Memahami peran umask dalam menentukan izin default pada file yang baru dibuat.
- Menggunakan ACL (Access Control Lists) untuk memperluas model izin standar pengguna, grup, dan dunia.
Owner, Group, and World
Dalam sistem Linux, setiap file memiliki pemilik, grup, dan hak akses tertentu untuk pengguna lain. Saat melihat daftar file dengan detail, kita bisa menemukan format seperti berikut ini:
-rw-rw-r-- 1 coop aproject 1601 Mar 9 15:04 a_file
Penjelasan dari format ini:
- (-rw-rw-r--) → Menunjukkan hak akses file yang terbagi dalam tiga bagian:
- rw- → Hak akses untuk pemilik (owner), dalam hal ini bisa membaca (r) dan menulis (w).
- rw- → Hak akses untuk grup (group), yang juga bisa membaca dan menulis.
- r-- → Hak akses untuk pengguna lain (world), yang hanya bisa membaca.
- 1 → Menunjukkan jumlah hard link ke file ini.
- coop → Nama pemilik file.
- aproject → Nama grup yang memiliki akses ke file.
- 1601 → Ukuran file dalam byte.
- Mar 9 15:04 → Waktu terakhir file diubah.
- a_file → Nama file tersebut.
Dengan memahami struktur ini, pengguna Linux bisa lebih mudah mengatur izin file dan meningkatkan keamanan sistem.
File Access Rights
Dalam sistem Linux, setiap file memiliki hak akses tertentu yang menentukan siapa saja yang bisa membaca, menulis, atau mengeksekusi file tersebut. Saat melihat daftar file dengan informasi lengkap, kita bisa menemukan format seperti berikut ini:
-rwxr-xr-x 1 root root 912000 Jan 30 2014 /usr/bin/vi
Penjelasan bagian-bagian dalam hak akses:
- r → Read (membaca), jika diperbolehkan, pengguna dapat melihat isi file.
- w → Write (menulis), jika diperbolehkan, pengguna dapat mengubah isi file.
- x → Execute (menjalankan), jika diperbolehkan, pengguna dapat mengeksekusi file sebagai program.
- Jika sebuah izin tidak diberikan, simbol - akan muncul di tempatnya.
Selain itu, ada izin khusus seperti setuid/setgid, yang memberikan hak istimewa dalam eksekusi program.
Proses pengecekan izin dilakukan dalam urutan berikut:
- Jika pengguna adalah pemilik file, maka sistem akan memeriksa hak akses pemilik.
- Jika tidak, maka sistem akan memeriksa apakah pengguna termasuk dalam grup yang memiliki file.
- Jika keduanya tidak sesuai, maka sistem akan menggunakan hak akses yang diberikan kepada semua pengguna lain (world).
Hak akses ini sangat penting dalam menjaga keamanan dan kontrol file dalam sistem Linux.
Chmod
Dalam sistem Linux, izin akses file dapat diubah menggunakan chmod. Perubahan izin ini hanya bisa dilakukan oleh pemilik file atau oleh superuser (root).
Contoh sebelum mengubah izin file:
Sebuah file bernama a_file memiliki izin rw-rw-r-- dengan pemilik coop dan grup coop.
Kemudian, izin diubah dengan menambahkan izin eksekusi untuk pemilik dan pengguna lain, serta menghapus izin menulis dari grup.
Setelah perubahan, izin file menjadi rwxr--r-x, yang berarti:
- Pemilik (user) memiliki izin membaca, menulis, dan mengeksekusi.
- Grup hanya memiliki izin membaca.
- Pengguna lain (world) memiliki izin membaca dan mengeksekusi.
Dalam perintah chmod, digunakan simbol berikut:
- u untuk pemilik file (user/owner).
- g untuk grup yang memiliki file.
- o untuk pengguna lain yang bukan pemilik atau bagian dari grup.
- +x untuk menambahkan izin eksekusi.
- -w untuk menghapus izin menulis.
Izin akses dapat ditulis dalam dua format:
- Format oktal, misalnya 0755, yang sering digunakan dalam konfigurasi sistem.
- Format simbolik, misalnya u+rwx, g+rx, o+rx, yang lebih mudah dibaca manusia.
Penggunaan chmod sangat penting dalam sistem Linux untuk mengontrol akses file dan menjaga keamanan sistem.
Octal Digits
Sintaks simbolik untuk mengatur izin file bisa sulit diingat, sehingga banyak yang menggunakan sistem angka oktal. Metode ini memungkinkan pengaturan semua izin dalam satu langkah dengan menggunakan tiga digit angka, di mana setiap digit merupakan jumlah dari nilai izin berikut:
- 4 untuk izin membaca (read).
- 2 untuk izin menulis (write).
- 1 untuk izin mengeksekusi (execute).
Setiap digit dalam angka oktal merepresentasikan kombinasi izin untuk pemilik (user), grup (group), dan lainnya (others). Beberapa contoh kombinasi angka oktal:
- 7 berarti 4 + 2 + 1, yaitu izin membaca, menulis, dan mengeksekusi.
- 6 berarti 4 + 2, yaitu izin membaca dan menulis.
- 5 berarti 4 + 1, yaitu izin membaca dan mengeksekusi.
Contoh Penggunaan Angka Oktal dalam chmod
Sebuah file bernama file1 awalnya memiliki izin rw-rw-r--, yang berarti:
- Pemilik dapat membaca dan menulis.
- Grup dapat membaca dan menulis.
- Pengguna lain hanya dapat membaca.
Kemudian, izin diubah dengan chmod menggunakan format simbolik, menambahkan izin eksekusi untuk pemilik dan pengguna lain serta menghapus izin menulis dari grup. Setelah perubahan, izin file menjadi rwxr--r-x.
Selanjutnya, izin diubah menggunakan angka oktal 755, yang setara dengan:
- Pemilik memiliki izin membaca, menulis, dan mengeksekusi (rwx = 7).
- Grup hanya memiliki izin membaca dan mengeksekusi (r-x = 5).
- Pengguna lain juga memiliki izin membaca dan mengeksekusi (r-x = 5).
Metode oktal ini lebih ringkas dan sering digunakan dalam pengaturan izin file pada sistem Linux.
Chown dan Chgrp
Pada sistem Linux, mengubah kepemilikan file dilakukan dengan perintah chown, sedangkan mengubah kepemilikan grup dilakukan dengan chgrp.
Hanya pengguna dengan hak superuser (root) yang dapat mengubah kepemilikan file, sedangkan perubahan grup hanya bisa dilakukan ke grup yang sudah menjadi bagian dari pengguna.
Mengubah Kepemilikan File
Perintah berikut mengubah kepemilikan file menjadi milik pengguna "wally":
sudo chown wally somefile
Mengubah Kepemilikan Grup
Untuk mengubah kepemilikan grup file menjadi "cleavers":
sudo chgrp cleavers somefile
Mengubah Pemilik dan Grup Secara Bersamaan
Gunakan tanda titik dua (:) atau titik (.) untuk memisahkan pemilik dan grup:
sudo chown wally:cleavers somefile
Mengubah Kepemilikan Secara Rekursif
Jika ingin mengubah kepemilikan file dan folder di dalam direktori secara menyeluruh, gunakan opsi -R:
- Mengubah kepemilikan file dan direktori dalam folder saat ini ke "wally" dan grup "cleavers":
sudo chown -R wally:cleavers ./ - Mengubah kepemilikan file dan folder dalam subdirektori:
sudo chown -R wally:wally subdir
Opsi -R memastikan bahwa semua file dan direktori di dalam folder tersebut juga mengalami perubahan kepemilikan.
Umask (User Mask)
Umask adalah nilai default yang menentukan izin akses awal saat file atau direktori baru dibuat. Secara default:
- File baru memiliki izin 0666 (read/write untuk owner, group, dan others).
- Direktori baru memiliki izin 0777 (read/write/execute untuk semua pengguna).
Namun, izin aktual yang diberikan bergantung pada nilai umask, yang menentukan izin mana yang harus dibatasi.
Menampilkan Nilai Umask
Untuk melihat nilai umask yang sedang aktif, gunakan perintah:
umask
Hasilnya, misalnya:
0002
Nilai ini berarti:
- File baru akan memiliki izin 664 (0666 dikurangi 0002), yaitu rw-rw-r--.
- Direktori baru akan memiliki izin 775 (0777 dikurangi 0002), yaitu rwxrwxr-x.
Mengubah Nilai Umask
Untuk mengubah nilai umask, gunakan perintah:
umask 0022
Dengan umask 0022:
- File baru akan memiliki izin 644 (rw-r--r--).
- Direktori baru akan memiliki izin 755 (rwxr-xr-x).
Umask adalah cara untuk membatasi izin default file/direktori agar tidak terlalu terbuka bagi pengguna lain.
Filesystem ACLs (Access Control Lists)
POSIX ACLs (Access Control Lists) adalah fitur yang memungkinkan pengaturan izin akses lebih fleksibel dibandingkan model izin tradisional (user, group, dan others). Dengan ACL, hak akses dapat diberikan ke pengguna atau grup tertentu tanpa harus mengubah kepemilikan file atau memberikan izin 777.
Mengecek ACL pada File atau Direktori
Gunakan perintah getfacl untuk melihat ACL yang diterapkan pada sebuah file atau direktori:
getfacl /home/stephane/file1
Menambahkan Hak Akses dengan ACL
Untuk memberikan hak akses read (r) dan execute (x) kepada user isabelle pada file tertentu:
setfacl -m u:isabelle:rx /home/stephane/file1
Menghapus Hak Akses ACL
Untuk menghapus hak akses ACL user isabelle pada file:
setfacl -x u:isabelle /home/stephane/file1
Mengatur ACL Default pada Direktori
Agar semua file baru di dalam direktori somedir mewarisi hak akses ACL tertentu:
setfacl -m d:u:isabelle:rx somedir
Perintah ini menetapkan default ACL sehingga setiap file baru yang dibuat dalam direktori somedir otomatis memiliki izin read (r) dan execute (x) untuk user isabelle.
Catatan Penting
- File baru dapat mewarisi ACL default dari direktori induknya.
- Saat memindahkan (mv) atau menyalin (cp -p) file, ACL bisa tetap dipertahankan.
ACL sangat berguna ketika mengelola izin akses lebih spesifik tanpa perlu mengubah kepemilikan atau grup file.

Komentar
Posting Komentar