GNU/Linux >> Belajar Linux >  >> Linux

Chmod secara rekursif

Anda dapat menggunakan chmod dengan X huruf mode (huruf besar X) untuk menyetel flag yang dapat dieksekusi hanya untuk direktori.

Pada contoh di bawah, flag yang dapat dieksekusi dihapus dan kemudian disetel untuk semua direktori secara rekursif:

~$ mkdir foo
~$ mkdir foo/bar
~$ mkdir foo/baz
~$ touch foo/x
~$ touch foo/y

~$ chmod -R go-X foo 
~$ ls -l foo
total 8
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 bar
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

~$ chmod -R go+X foo 
~$ ls -l foo
total 8
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 bar
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

Sedikit penjelasan:

  • chmod -x foo - hapus eXecutable bendera untuk foo
  • chmod +x foo - atur dapat dieksekusi bendera untuk foo
  • chmod go+x foo - sama seperti di atas, tetapi setel bendera hanya untuk Grup dan Lainnya pengguna, jangan sentuh Pengguna izin (pemilik)
  • chmod go+X foo - sama seperti di atas, tetapi hanya berlaku untuk direktori, jangan menyentuh file
  • chmod -R go+X foo - sama seperti di atas, tetapi lakukan ini Secara Rekursif untuk semua subdirektori dari foo

Anda memerlukan akses baca, selain akses eksekusi, untuk membuat daftar direktori. Jika Anda hanya memiliki akses eksekusi, maka Anda dapat mengetahui nama-nama entri dalam direktori, tetapi tidak ada informasi lain (bahkan tipe, jadi Anda tidak tahu entri mana yang merupakan subdirektori). Ini bekerja untuk saya:

find . -type d -exec chmod +rx {} \;

Linux
  1. Bagaimana Cara Chmod Tanpa /usr/bin/chmod?

  2. Ubah Siapa yang Mampu Melakukan Chmod?

  3. Perintah chmod Linux

  1. Mengubah izin Linux

  2. chmod:perintah tidak ditemukan

  3. chmod tidak berfungsi

  1. Sistem Rusak Setelah Chmod -r 644 /?

  2. Apakah Rsync ~/foo Target/foo Sama Dengan Rsync ~/foo/ Target/foo/?

  3. Temukan File Terbesar Secara Rekursif?