Pendahuluan
Sistem multi-pengguna, seperti Linux, memerlukan pengaturan dan pengelolaan izin file yang memastikan hanya pengguna yang berwenang yang memiliki akses ke file yang seharusnya.
Jika Anda perlu mengubah izin file, gunakan chmod
memerintah. Ini juga memungkinkan untuk mengubah izin file secara rekursif untuk mengonfigurasi banyak file dan sub-direktori menggunakan satu perintah.
Dalam tutorial ini, Anda akan mempelajari cara menggunakan chmod secara rekursif dan mengubah izin file di Linux.
Prasyarat
- Jendela baris perintah / terminal (Ctrl +Alt +B atau Ctrl +Alt+F2 )
- Akun pengguna dengan sudo hak istimewa (opsional)
- Sistem Linux
Periksa Izin File
Jika Anda perlu memeriksa izin file di direktori kerja, gunakan perintah:
ls –l
Output mencantumkan izin semua file dalam direktori.
Misalnya, Contoh direktori berisi tiga file (test1.txt , test2.txt , dan test3.txt ) dengan izin yang sama (-rw-rw-r– ).
Izin file yang tercantum di atas memberi tahu kita hal berikut:
- Si pemilik telah membaca dan menulis hak istimewa
- Grup pemilik telah membaca dan menulis hak istimewa
- Pengguna lain telah membaca hak istimewa
Ubah Izin Secara Rekursif
Adalah umum untuk menggunakan chmod
dasar perintah untuk mengubah izin satu file. Namun, Anda mungkin perlu mengubah izin secara rekursif untuk semua file dalam direktori.
Dalam kasus seperti itu, chmod rekursif opsi (-R
atau --recursive
) menetapkan izin untuk direktori (dan file yang dikandungnya).
Sintaks untuk mengubah izin file secara rekursif adalah:
chmod -R [permission] [directory]
Oleh karena itu, untuk menyetel 755 izin untuk semua file di Contoh direktori, Anda akan mengetik:
sudo chmod -R 755 Example
Perintah tersebut memberikan baca, tulis, dan jalankan hak istimewa kepada pemiliknya (7 ) dan membaca dan mengeksekusi akses ke orang lain (55 ).
Ubah Izin Dengan Perintah find
Untuk menetapkan izin terpisah ke direktori dan file, Anda dapat menggunakan find
perintah.
Sintaks dasarnya mencakup penggunaan find
perintah untuk mencari file/direktori dan kemudian meneruskannya ke chmod
untuk mengatur izin:
sudo find [directory] -type [d/f] -exec chmod [privilege] {} \;
- Ganti
[directory]
dengan jalur direktori yang menyimpan file dan subdirektori yang ingin Anda konfigurasi. - Tentukan apakah itu mencari direktori
-type d
atau file-type f
. - Setel file
[privilege]
denganchmod
perintah menggunakan mode numerik atau simbolis.
Hindari menetapkan hak eksekusi ke file. Pengaturan umum akan mencakup menjalankan perintah berikut:
sudo find Example -type d -exec chmod 755 {} \;
sudo find Example -type f -exec chmod 644 {} \;
Dalam contoh ini, direktori memiliki 755 (u=rwx,go=rx ) hak istimewa, sedangkan file memiliki hak istimewa 644 (u=rw,go=r).
Anda dapat memeriksa untuk memverifikasi direktori dan file memiliki setelan izin yang berbeda dengan berpindah ke Contoh direktori (cd Example
) dan mencantumkan konten (ls -l
). Outputnya harus mirip dengan yang di bawah ini:
Ubah Izin File Tertentu Secara Rekursif
Menggabungkan find
perintah dengan chmod
juga dapat digunakan untuk mengubah izin file dengan tipe tertentu.
Sintaks perintah untuk mengubah izin jenis file tertentu dalam direktori adalah:
find [directory] -name "*.[filename_extension]" -exec chmod [privilege] {} \;
Misalnya, untuk membuat semua .sh file di direktori saat ini dapat dieksekusi , Anda akan menggunakan:
find . -name "*.sh" -exec chmod +x {} \;