Hak akses file di Linux
Pengguna non-administratif tidak boleh memiliki akses ke file konfigurasi atau kata sandi. Seorang penyerang dapat mencuri kata sandi dari basis data atau situs web dan menggunakannya untuk merusak - atau lebih buruk lagi, menghapus data. Ini adalah mengapa penting bagi setiap sistem untuk memiliki izin file yang benar. Jika berkas tertentu hanya digunakan oleh root, tetapkan hak akses 0600
dengan chmod
dan ubah pemiliknya menjadi root dengan chown
.
chmod
Pengguna administrator dapat menggubah izin berkas atau direktori dengan:
user $ chmod [u][g][o] [file]
Keterangan:
- [u] adalah angka untuk izin pengguna
- [g] adalah angka untuk izin grup
- [o] adalah angka untuk izin pengguna lain
chown
Administrator dapat mengubah pemilik dan grup file dengan:
root # chown [user]:[group] [file]
Administrator dapat mengubah pemilik dan grup folder atau file secara rekursif dengan:
root # chown -R [user]:[group] [folder]
Angka yang dimaksud didapat dengan cara sebagai berikut:
- 7 = 4 + 2 + 1 = baca + tulis + eksekusi
- 6 = 4 + 2 = baca + tulis
- 5 = 4 + 1 = baca + eksekusi
- 4 = 4 = baca
- 3 = 2 + 1 = tulis + eksekusi
- 2 = 2 = tulis
- 1 = 1 = eksekusi
Mengatur grup
Pengguna dengan hak administrator dapat menambahkan atau mengeluarkan akun pengguna dari dan ke sebuah grup pengguna:
root # gpasswd -a [user] [group] root # gpasswd -d [user] [group]
Dapat ditulis grup atau semua
Perintah berikut dapat digunakan untuk mencari file yang dapat ditulis oleh semua pengguna:
root #find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; 2>/dev/null >writable.txt root #find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; 2>/dev/null >>writable.txt
hak
Ini akan membuat sebuah file besar dengan izin untuk semua file yang memiliki izin tulis yang ditetapkan untuk grup atau semua orang. Periksa izin dan hilangkan semua file yang dapat ditulis oleh semua orang, dengan mengeksekusi /bin/chmod o-w
pada file-file tersebut.
Lihat juga
- Systemd Sandboxing - Cara membatasi akses sumber daya sebuah service