Apakah Anda lelah harus mengubah izin file dan direktori secara manual? Apakah Anda mencari cara yang lebih cepat dan efisien untuk mengubah izin file dan direktori Anda? Jika demikian, maka Anda telah datang ke tempat yang tepat karena, dalam artikel ini, Anda akan mempelajari cara mengubah izin file dan direktori menggunakan perintah chmod
secara rekursif!
Baca terus untuk mempelajari lebih lanjut!
Prasyarat
Untuk mengikuti, Anda memerlukan perangkat Linux dan direktori yang file dan izin sub-direktorinya tersedia untuk berlatih.
Mempelajari Tentang Pengguna dan Grup Linux
Pemilik dan grup penting di Linux, diperlukan untuk mengelola file dan direktori dengan aman. Pemiliknya adalah kepada siapa file atau direktori ditetapkan, yang merupakan pembuatnya, secara default. Di Linux, file dan direktori juga termasuk dalam grup. Pengguna dan grup disetel melalui chown
perintah.
Pada tangkapan layar di bawah, konten yang disorot dengan warna hijau menunjukkan pengguna yang memiliki file atau direktori, mihail
dalam contoh ini. Konten yang disorot dengan warna biru menunjukkan grup mana yang dimiliki file atau direktori, yang dimiliki oleh staff
grup dalam contoh ini.
Memahami Izin File dan Direktori Linux
Izin mengatur tindakan apa yang dapat dilakukan pengguna atau grup pada file atau direktori tertentu. Mereka ditunjukkan oleh representasi karakter dan juga diberi nilai numerik.
- Baca (
r
atau4
): Menunjukkan apakah pengguna atau grup dapat membaca konten file atau direktori. Izin baca diberikan secara default ke semua file dan direktori yang baru dibuat untuk semua pihak. - Tulis (
w
atau2
): Menunjukkan apakah pengguna atau grup dapat mengedit konten objek. Izin ini diberikan secara default hanya kepada pemilik file atau direktori. - Jalankan (
x
atau1
): Menunjukkan apakah pengguna atau grup dapat mengeksekusi file atau menjalankan perintah di dalam direktori. Izin eksekusi diberikan secara default hanya untuk direktori tetapi tidak untuk file.
Jika Anda tidak memberi pengguna (
u
) menjalankan izin ke direktori, mereka tidak akan dapat membuat daftar konten karena pengguna tidak akan dapat menjalankan perintah di dalam direktori!
Contoh ditunjukkan di bawah ini, output dari perintah ls -l
menunjukkan jenis izin yang berbeda. Izin tersebut didahului oleh d
nilai, menunjukkan direktori.
Lalu mengapa tampaknya ada tiga set izin untuk setiap objek? Kontrol izin yang terperinci dicapai dengan membagi izin menjadi beberapa bagian (direferensikan sebagai pihak untuk tujuan tutorial ini) yang tercantum di bawah ini.
- Pengguna (
u
): Pemilik file atau direktori, disorot dengan warna biru. - Grup (
g
): Anggota grup tempat file atau direktori berada, disorot dengan warna hijau. - Lainnya (
o
): Semua pengguna dan grup tambahan yang tidak ditetapkan secara eksplisit, disorot dengan warna merah.
Mengubah Izin File melalui Perintah rekursif chmod
Dengan pemahaman izin Linux yang tepat, baca terus untuk mempelajari cara mengubah izin file. Izin diubah melalui chmod
perintah rekursif seperti yang ditunjukkan pada contoh di bawah ini.
1. Pertama, periksa izin saat ini dengan ls -l
memerintah. Di sini, my_dir/index.js file ditampilkan.
2. Jalankan chmod
perintah, menentukan pesta, a
(semua), dan izin, rwx
, atau baca/tulis/eksekusi. Perintah lengkapnya sebagai berikut:chmod a=rwx index.js
.
3. Seperti yang Anda lihat, menjalankan chmod
rekursif tidak mengembalikan output apa pun. Untuk memverifikasi bahwa izin telah diubah, jalankan perintah ls -l
lagi.
Mengatur Izin File melalui Nilai Numerik
Ingat nomor yang terkait dengan izin seperti membaca atau menulis? Alih-alih menentukan nilai karakter, Anda dapat menentukan izin khusus melalui nomor. Dengan menambahkan nilai, Anda membuat izin khusus seperti 6
yang merupakan kombinasi dari menulis (2
) dan baca (4
) izin.
Pada contoh di bawah, atur izin untuk main.py file melalui perintah chmod 664 main.py
. Nilai numerik dipecah sebagai berikut.
- Pengguna: Baca dan Tulis (
6
). - Grup: Baca dan Tulis (
6
). - Lainnya: Baca (
4
).
Setelah izin diubah, verifikasi izin baru untuk main.py file dengan perintah ls -l
.
Menghapus dan Menambahkan Izin File
Perintah non-numerik yang telah Anda jalankan sejauh ini menggunakan parameter penetapan (=
) dengan chmod
rekursif, untuk mengatur izin eksplisit. Sebagai gantinya, Anda dapat menghapus (-
) atau tambahkan (+
) izin ke set izin yang ada.
1. Pertama, buat daftar izin yang ada untuk README.md file melalui perintah ls -l README.md
.
2. Selanjutnya, tambahkan (+
) jalankan (x
) izin ke pihak pengguna (u
), saat menghapus (-
) baca (r
) izin dari pihak lain (o
) untuk README.md , dengan perintah berikut chmod u+x,o-r README.md
. Izin pihak yang berbeda dipisahkan dengan koma (,
).
3. Jalankan ls -l README.md
perintah untuk memverifikasi bahwa izin telah diubah.
Mengubah Izin File dan Direktori Secara Rekursif
Meskipun Anda membuat kemajuan, Anda hanya beroperasi pada satu file pada satu waktu. Bagaimana jika Anda memiliki banyak file untuk diubah izinnya? Saatnya meningkatkan permainan Anda dan belajar mengubah izin untuk beberapa file.
Salah satu opsi untuk mengubah banyak file adalah dengan menjalankan chmod
rekursif dengan -R
(rekursif, dan bukan modal) pilihan. Opsi rekursif akan mengubah izin untuk semua file, termasuk yang berada di bawah sub-direktori, di dalam jalur tertentu.
1. Perhatikan perintah berikut, chmod -R a=r,u=rwx my_dir
. Sebagian besar opsi yang telah Anda lihat sebelumnya.
Perintah ini akan mengubah hak akses untuk semua file dalam direktori, my_dir dan sub-direktori, melalui opsi rekursif (-R
). File diatur agar dapat dibaca (r
) untuk semua (a
), dengan izin yang berbeda untuk pengguna saat ini (u
) diatur ke izin penuh (baca, tulis, jalankan).
Pada tangkapan layar di bawah, Anda melihat izin yang dihasilkan setelah menjalankan perintah, yang tidak menghasilkan keluaran.
2. Misalkan Anda menjalankan perintah, chmod -R a=rwx my_dir
, pada direktori yang sama seperti sebelumnya, my_dir. Sekali lagi, Anda mengubah semua file di my_dir, dan subdirektorinya, untuk mengatur berikan semua (a
) izin penuh (baca, tulis, jalankan). Berikut adalah hasil dari perintah tersebut, sebagai chmod
rekursif tidak menampilkan output.
3. Bagaimana dengan metode numerik? Seperti yang ditunjukkan di bawah ini, metode rekursif juga bekerja dengan izin numerik, chmod -R 770 my_dir
. Di sini Anda memberikan izin penuh kepada pengguna dan grup, tetapi tidak memberikan izin kepada pihak lain.
4. Jalankan ls -l
untuk memeriksa dir_saya izin file dan sub-direktori diatur dengan metode numerik.
Mendefinisikan Perilaku File dan Folder melalui Izin Khusus
Izin khusus memungkinkan beberapa hak istimewa tambahan yang unik dari set izin standar. Ada tiga izin khusus. Berikut adalah cara kerja izin khusus ini dan bagaimana Anda dapat menambahkannya ke file atau direktori.
Mengatur Izin SUID (User + S)
Biasanya dicatat sebagai SUID , itu adalah izin khusus untuk pengguna. SUID memiliki satu fungsi:file dengan SUID selalu mengeksekusi sebagai pengguna yang memiliki file, terlepas dari siapa yang mengeksekusi file.
Misalnya, pertimbangkan index.js . Untuk memberikan tambahan SUID izin, jalankan chmod u+s index.js
.
Sekarang, jika Anda menjalankan ls -l index.js
, Anda akan menemukan bahwa pengguna memiliki s dalam izin mereka alih-alih x.
Mengatur Izin SGID (Group + S)
Biasanya dicatat sebagai SGID , izin khusus ini memiliki dua fungsi:
- Jika disetel untuk file, file tersebut dapat dieksekusi sebagai grup yang memiliki file tersebut, terlepas dari siapa yang mengeksekusi file tersebut.
- Jika disetel untuk direktori, semua file yang dibuat di direktori akan memiliki grup kepemilikan disetel ke pemilik direktori.
Berlatih di index.php mengajukan. Untuk menambahkan SGID izin ke file ini, jalankan perintah berikut:chmod g+s index.php
.
Sekarang, jika Anda menjalankan ls -l index.php
, Anda akan menemukan bahwa grup memiliki s dalam izin mereka.
Pindah ke direktori:my_dir . Anda dapat menambahkan SGID izin ke direktori ini menggunakan perintah berikut:chmod g+s my_dir
. Semua file yang dibuat di direktori ini sekarang akan memiliki grup kepemilikan diatur ke pemilik direktori. Anda dapat memeriksa izin baru direktori menggunakan ls -ld my_dir
(d
parameter membatasi output ke direktori saja).
Mengubah Izin Bit Lengket
Izin khusus terakhir juga dikenal sebagai "bit lengket." Izin ini tidak memengaruhi file individual. Tetapi, pada tingkat direktori, ini membatasi penghapusan file. Hanya pemilik dari sebuah file dapat menghapus file di dalam direktori tersebut.
Tambahkan bit lengket ke my_dir yang sudah dikenal lama direktori. Untuk melakukannya, jalankan perintah sebagai berikut:chmod +t my_dir
.
Perhatikan bahwa, untuk menambahkan bit lengket, Anda tidak menunjukkan lainnya group(o) sebelum
+t
.
Saat Anda memeriksa dir_saya izin baru, Anda akan melihat huruf besar T di lainnya izin, seperti yang ditunjukkan pada tangkapan layar di bawah.
Kesimpulan
Selamat! Anda membahas banyak topik di chmod
rekursif. Anda sekarang siap untuk mengatasi masalah izin sial yang muncul dengan chmod
yang maha kuasa alat. Anda bahkan belajar bagaimana memanfaatkan kekuatan rekursif (-R
) pilihan.
Bagaimana Anda ingin menerapkan chmod
fungsionalitas serbaguna untuk keuntungan Anda saat Anda perlu mengelola izin file atau direktori?