Saya ingin chmod
banyak file dan direktori. Seperti yang x
ditunjukkan daftar untuk direktori dan jalankan untuk file biasa saya ingin mendaftar rw
untuk file dan rwx
untuk direktori. Apakah mungkin hanya menggunakan chmod
perintah?
Jika tidak, apa cara yang paling nyaman?
Melakukan suatu chmod -R 770
tidak mungkin karena saya tidak ingin file biasa menjadi executable.
linux
permissions
file-management
Dihapus
sumber
sumber
Jawaban:
Saya melakukan ini kadang-kadang menggunakan satu
find
perintah. Jelek tapi efektif.sumber
find . -type d -exec chmod -vc 755 "{}" \;
(termasuk-vc
untuk beberapa umpan balik). (Dan mungkin, hanya untuk memperjelas, tambahkan dua perintah mandiri untuk jawabannya juga?)Gunakan izin X, dari halaman manual:
Jadi lakukan hal berikut:
Ini menghapus bit eksekusi dari semua file dan direktori diikuti dengan menambahkan hak baca dan tulis ke semuanya, dan jalankan privilege hanya untuk direktori. (Tidak ada file biasa yang memiliki bit eksekusi lagi dari langkah pertama.)
sumber
chmod -R a-x [directory]
diikutichmod -R a+rwX [directory]
?a-x
, direktori tidak dapat diakses. Bahkan, chmod gagal dengan izin ditolak dan tidak akan menghapus bit yang dapat dieksekusi dari file dalam direktori. Apakah ada cara untuk melakukan ini tanpa menjadi root?Anda juga dapat menggunakan
find
bersama denganxargs
:di mana
-type
menspesifikasikan d irectory atau f ile.sumber
xargs
cukup pintar untuk memecah baris perintah panjang ke beberapa eksekusi. Konsultasikan halaman manual xargs Anda dan pastikan untuk memeriksaxargs --show-limits
.