Controlling Access to Files (Mengontrol Akses ke File)
Published: 2024-03-23 03:55:20


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sr14xr1chd34lev8dxgw.jpg)

## Menafsirkan Izin Sistem File Linux
Tujuan
Setelah menyelesaikan bagian ini, Anda seharusnya dapat membuat daftar izin sistem file pada file dan direktori, dan menafsirkan pengaruh izin tersebut terhadap akses oleh pengguna dan grup.

## Izin Sistem File Linux
Izin berkas mengontrol akses ke file. Izin file Linux sederhana namun fleksibel, mudah dipahami dan diterapkan, namun masih mampu menangani sebagian besar kasus izin normal dengan mudah.

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.

Izin yang paling spesifik akan diutamakan. Izin pengguna mengesampingkan izin grup, yang mengesampingkan izin lainnya.

joshua adalah anggota grup joshua dan web, dan allison adalah anggota allison, wheel, dan web. Ketika Joshua dan Allison perlu berkolaborasi, file harus dikaitkan dengan web grup dan izin grup harus memungkinkan akses yang diinginkan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k10mvbvajv4oi3us2l5a.jpg)

Tiga kategori izin berlaku: baca, tulis, dan jalankan. Tabel berikut menjelaskan bagaimana izin ini memengaruhi akses ke file dan direktori.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dlxqtjmh3hqhqi5j7qdf.jpg)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/482wef37mse5ezc77svn.jpg)

Pengguna biasanya memiliki izin baca dan eksekusi pada direktori hanya baca sehingga mereka dapat membuat daftar direktori dan memiliki akses penuh hanya baca ke kontennya. Jika pengguna hanya memiliki akses baca pada direktori, nama file di dalamnya dapat dicantumkan, namun tidak ada informasi lain, termasuk izin atau stempel waktu, yang tersedia, juga tidak dapat diakses. Jika pengguna hanya memiliki akses eksekusi pada suatu direktori, mereka tidak dapat mencantumkan nama file dalam direktori tersebut. Jika mereka mengetahui nama file yang mereka punya izin untuk membacanya, mereka dapat mengakses konten file tersebut dari luar direktori dengan secara eksplisit menentukan nama file relatif.

Sebuah file dapat dihapus oleh siapa saja yang memiliki kepemilikan atau izin menulis pada direktori tempat file tersebut berada, terlepas dari kepemilikan atau izin pada file itu sendiri. Hal ini dapat ditimpa dengan izin khusus, yaitu sedikit lengket, dibahas nanti dalam bab ini.

**Catatan**
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 membaca pada direktori di Linux kira-kira setara dengan Daftar isi folder di Windows.

Izin menulis 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 -l perintah ls menunjukkan informasi rinci tentang izin dan kepemilikan:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/enaw16n99761h6c471sk.jpg)

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9b3b8rswgpi7m0m1tprq.jpg)

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

- _-a_ dalah 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 student ditentukan oleh kumpulan tiga karakter pertama. Pengguna student telah membaca dan menulis test, tetapi belum mengeksekusi.

Grup student ditentukan 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 student memiliki izin yang berbeda dari grup student, dan pengguna student juga merupakan anggota grup tersebut, maka izin penggunalah yang berlaku.

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axvmtvwxv4l1ij7b2qru.jpg)

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3zrstvbvuxe25you8sz.jpg)

Opsi -a menunjukkan izin file tersembunyi, termasuk file khusus yang digunakan untuk mewakili direktori dan induknya. Dalam contoh ini, . mencerminkan izin dir itu 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oynr84a5nrgeftoo6ttm.jpg)