Jika Anda menggunakan Linux sebagai sistem operasi utama Anda atau mengelola server Linux, Anda akan menemukan situasi ketika Anda mencoba untuk membuat atau mengedit file dan menerima kesalahan "Izin menolak". Biasanya, kesalahan terkait dengan izin yang tidak memadai dapat diselesaikan dengan menyetel izin atau kepemilikan file yang benar.
Linux adalah sistem multi-pengguna, dan akses ke file dikendalikan melalui izin file, atribut, dan kepemilikan. Ini memastikan bahwa hanya pengguna dan proses yang berwenang yang dapat mengakses file dan direktori.
Untuk informasi lebih lanjut tentang izin file, lihat “Perintah Umask di Linux”.
Dalam artikel ini, kami akan menjelaskan cara mengubah izin file dan direktori secara rekursif.
Chmod Rekursif #
chmod perintah memungkinkan Anda untuk mengubah izin file menggunakan mode simbolis atau numerik.
Untuk mengoperasikan secara rekursif pada semua file dan direktori di bawah direktori tertentu, gunakan chmod perintah dengan -R , (--recursive ) pilihan. Sintaks umum untuk mengubah hak akses file secara rekursif adalah sebagai berikut:
chmod -R MODE DIRECTORY
Misalnya, untuk mengubah izin semua file dan subdirektori di bawah /var/www/html direktori ke 755 Anda akan menggunakan:
chmod -R 755 /var/www/html Mode juga dapat ditentukan menggunakan metode simbolis:
chmod -R u=rwx,go=rx /var/www/html
Hanya root, pemilik file, atau pengguna dengan sudo hak istimewa dapat mengubah izin file. Berhati-hatilah saat mengubah izin file secara rekursif.
Menggunakan find Perintah #
Secara umum, file dan direktori tidak boleh memiliki izin yang sama. Sebagian besar file tidak memerlukan izin eksekusi, sedangkan Anda harus mengatur izin eksekusi pada direktori untuk mengubahnya.
Skenario yang paling umum adalah mengubah izin file situs web secara rekursif menjadi 644 dan izin direktori ke 755 .
Menggunakan metode numerik:
find /var/www/html -type d -exec chmod 755 {} \;find /var/www/html -type f -exec chmod 644 {} \;
Menggunakan metode simbolis:
find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;find /var/www/html -type f -exec chmod u=rw,go=r {} \;
find perintah mencari file atau direktori di bawah /var/www/html dan meneruskan setiap file atau direktori yang ditemukan ke chmod perintah untuk mengatur izin.
Saat menggunakan find dengan -exec , chmod perintah dijalankan untuk setiap entri yang ditemukan. Gunakan xargs perintah untuk mempercepat operasi dengan melewatkan beberapa entri sekaligus:
find /var/www/html -type d -print0 | xargs -0 chmod 755find /var/www/html -type f -print0 | xargs -0 chmod 644
Kesimpulan #
chmod perintah dengan -R opsi memungkinkan Anda mengubah izin file secara rekursif.
Untuk mengatur izin file secara rekursif berdasarkan jenisnya, gunakan chmod dalam kombinasi dengan find perintah.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.