Lewati ke konten utama

Permissions

1. Konsep Dasar Permissions​

Permissions (hak akses) adalah mekanisme keamanan dalam sistem operasi Linux yang menentukan siapa yang dapat membaca, menulis, atau mengeksekusi suatu file atau direktori.

Jenis Permissions:​

  • Read (r): Hak untuk membaca isi file atau melihat isi direktori.
  • Write (w): Hak untuk mengubah isi file atau menambah/menghapus isi direktori.
  • Execute (x): Hak untuk mengeksekusi file (jika berupa program/script) atau mengakses direktori.

Kategori Pengguna:​

  • User (u): Pemilik file.
  • Group (g): Grup pengguna yang memiliki hak akses terhadap file.
  • Others (o): Semua pengguna lain yang tidak termasuk dalam kategori user atau group.

2. Representasi Oktal dan Simbolik​

Permissions dapat direpresentasikan dalam dua format:

  • Format Simbolik: Menggunakan kombinasi r, w, dan x, misalnya rwxr-xr--.
  • Format Oktal: Menggunakan angka untuk merepresentasikan kombinasi permissions, misalnya 755.
PermissionSimbolikOktal
rwxr-xr--Owner: rwx, Group: r-x, Others: r--755
rw-r--r--Owner: rw-, Group: r--, Others: r--644

Contoh Konversi​

rwxr-xr-- = 755
rw-r--r-- = 644

3. Perintah chmod​

Digunakan untuk mengubah permissions file atau direktori.

Contoh Penggunaan:​

  • Mengatur permissions menggunakan format oktal:
    chmod 755 file.txt
  • Menambahkan hak eksekusi ke pemilik file:
    chmod u+x file.txt
  • Menghapus hak tulis dari grup:
    chmod g-w file.txt

4. Perintah chown​

Digunakan untuk mengubah kepemilikan file atau direktori.

Contoh Penggunaan:​

  • Mengubah pemilik file:
    chown user file.txt
  • Mengubah pemilik dan grup:
    chown user:group file.txt

5. Perintah chgrp​

Digunakan untuk mengubah grup pemilik file atau direktori.

Contoh Penggunaan:​

  • Mengubah grup pemilik:
    chgrp group file.txt

6. SUID, SGID, dan Sticky Bit​

SUID (Set User ID)​

Jika diterapkan pada file eksekusi, pengguna yang menjalankan file akan mendapatkan hak akses seperti pemilik file.

  • Contoh:
    chmod u+s program

SGID (Set Group ID)​

Jika diterapkan pada file, pengguna yang menjalankan file akan mendapatkan hak akses grup file tersebut.

  • Contoh:
    chmod g+s program

Sticky Bit​

Mencegah pengguna lain menghapus file di dalam direktori bersama kecuali mereka adalah pemilik file.

  • Contoh:
    chmod +t /shared_folder

7. UMASK​

UMASK (User File Creation Mask) menentukan izin default saat file atau direktori baru dibuat dengan mengurangi hak akses default.

  • Nilai default permissions:
    File:  666 (rw-rw-rw-)
    Direktori: 777 (rwxrwxrwx)
    Jika umask bernilai 022, maka:
    File baru: 666 - 022 = 644 (rw-r--r--)
    Direktori baru: 777 - 022 = 755 (rwxr-xr-x)
  • Melihat nilai umask:
    umask
  • Mengubah nilai umask:
    umask 027
    Hasil:
    File baru: 640 (rw-r-----)
    Direktori baru: 750 (rwxr-x---)
  • Nilai umask dapat disimpan secara permanen di ~/.bashrc atau ~/.profile.

8. ACL (Access Control Lists)​

ACL memungkinkan pengaturan permissions yang lebih fleksibel dibanding chmod.

  • Menambahkan ACL untuk user tertentu:
    setfacl -m u:user:rwx file.txt
  • Melihat ACL suatu file:
    getfacl file.txt

9. Contoh Studi Kasus​

1. Pengaturan Permissions untuk Web Server​

Untuk memastikan keamanan direktori web server:

chmod -R 755 /var/www/html
chown -R www-data:www-data /var/www/html

2. Pengaturan Shared Folder​

Untuk direktori yang digunakan bersama oleh grup tertentu:

chmod 770 /shared_folder
chgrp team /shared_folder
chmod g+s /shared_folder

Dengan memahami konsep permissions ini, Anda dapat mengelola keamanan file dan direktori dengan lebih baik di sistem Linux.