DEV Community

Salsa Nabila
Salsa Nabila

Posted on

Mengontrol Akses ke File

File memiliki tiga kategori pengguna yang izinnya berlaku. File tersebut dimiliki oleh pengguna, biasanya orang yang membuat file tersebut. File juga dimiliki oleh satu grup, biasanya grup utama pengguna yang membuat file, namun hal ini dapat diubah. Izin yang berbeda dapat diatur untuk pengguna pemilik, grup pemilik, dan untuk semua pengguna lain di sistem yang bukan pengguna atau anggota grup pemilik.

Tiga kategori izin berlaku: read, write, dan execute. Tabel berikut menjelaskan bagaimana izin ini memengaruhi akses ke file dan direktori.

Image description

Izin file Linux bekerja secara berbeda dari sistem izin yang digunakan oleh sistem file NTFS untuk Microsoft Windows.

Di Linux, izin hanya berlaku untuk file atau direktori tempat izin tersebut ditetapkan. Artinya, izin pada suatu direktori tidak diwarisi secara otomatis oleh subdirektori dan file di dalamnya. Namun, izin pada direktori dapat memblokir akses ke konten direktori tergantung pada seberapa ketat izin tersebut.

Izin read pada direktori di Linux kira-kira setara dengan Daftar isi folder di Windows.
Izin write pada direktori di Linux setara dengan Memodifikasi di Windows; itu menyiratkan kemampuan untuk menghapus file dan subdirektori. Di Linux, jika write dan sticky bit keduanya diatur pada sebuah direktori, maka hanya pemilik file atau subdirektori yang dapat menghapusnya, serupa dengan perilaku izin Windows Write.

*Pengguna root Linux memiliki izin Kontrol Penuh * Windows yang setara pada semua file. Namun, akses root mungkin dibatasi oleh kebijakan SELinux sistem menggunakan konteks keamanan proses dan file. SELinux akan dibahas pada kursus selanjutnya.

Melihat Izin dan Kepemilikan File dan Direktori

Opsi -lperintah ls menunjukkan informasi rinci tentang izin dan kepemilikan:

[user@host~]$ ls -l test
-rw-rw-r--. 1 student student 0 Feb  8 17:36 test
Enter fullscreen mode Exit fullscreen mode

Gunakan -d opsi untuk menampilkan informasi rinci tentang direktori itu sendiri, dan bukan isinya.

[user@host ~]$ ls -ld /home
drwxr-xr-x. 5 root root 4096 Jan 31 22:00 /home
Enter fullscreen mode Exit fullscreen mode

Karakter pertama dari daftar panjang adalah jenis file, diartikan seperti ini:

  • - adalah file biasa.
  • d adalah direktori.
  • l adalah tautan lunak.

Karakter lain mewakili perangkat keras ( b dan c) atau file tujuan khusus lainnya ( p dan s).

Sembilan karakter berikutnya adalah izin file. Ini ada dalam tiga set tiga karakter: izin yang berlaku untuk pengguna yang memiliki file, grup yang memiliki file, dan semua pengguna lainnya. Jika kumpulan menunjukkan rwx, kategori tersebut memiliki ketiga izin, baca, tulis, dan jalankan. Jika ada huruf yang diganti dengan -, maka kategori tersebut tidak mempunyai izin tersebut.

Setelah penghitungan tautan, nama depan menentukan pengguna pemilik file, dan nama kedua grup pemilik file.

Jadi pada contoh di atas, izin untuk pengguna studentditentukan oleh kumpulan tiga karakter pertama. Pengguna studenttelah membaca dan menulis test, tetapi belum mengeksekusi.

Grup studentditentukan oleh kumpulan tiga karakter kedua: ia juga telah membaca dan menulis test, tetapi tidak mengeksekusi.

Izin pengguna lain ditentukan oleh rangkaian tiga karakter ketiga: mereka hanya memiliki izin membaca di test.

Kumpulan izin yang paling spesifik berlaku. Jadi jika pengguna studentmemiliki izin yang berbeda dari grup student, dan pengguna studentjuga merupakan anggota grup tersebut, maka izin penggunalah yang berlaku.

Contoh Efek Permission

Contoh berikut akan membantu mengilustrasikan bagaimana izin file berinteraksi. Untuk contoh ini, kami memiliki empat pengguna dengan keanggotaan grup berikut:

Image description

Pengguna tersebut akan bekerja dengan file di dirdirektori. Ini adalah daftar panjang file-file di direktori itu:

[database1@host dir]$ ls -la
total 24
drwxrwxr-x.  2 database1 consultant1   4096 Apr  4 10:23 .
drwxr-xr-x. 10 root      root          4096 Apr  1 17:34 ..
-rw-rw-r--.  1 operator1 operator1     1024 Apr  4 11:02 lfile1
-rw-r--rw-.  1 operator1 consultant1   3144 Apr  4 11:02 lfile2
-rw-rw-r--.  1 database1 consultant1  10234 Apr  4 10:14 rfile1
-rw-r-----.  1 database1 consultant1   2048 Apr  4 10:18 rfile2
Enter fullscreen mode Exit fullscreen mode

Opsi ini -a menunjukkan izin file tersembunyi, termasuk file khusus yang digunakan untuk mewakili direktori dan induknya. Dalam contoh ini, .mencerminkan izin dirinya sendiri, dan ..izin direktori induknya.

Apa izinnya rfile1? Pengguna yang memiliki file ( database1) telah membaca dan menulis tetapi tidak mengeksekusi. Grup yang memiliki file ( consultant1) telah membaca dan menulis tetapi tidak mengeksekusi. Semua pengguna lain telah membaca tetapi belum menulis atau mengeksekusi.

Tabel berikut mengeksplorasi beberapa dampak kumpulan izin ini bagi pengguna ini:

Image description

Top comments (0)