Saya telah mencoba untuk membersihkan izin pada beberapa kotak dan telah menjelajahi chmod man dan juga semua dokumentasi internet yang saya tangani tanpa hasil - jadi di sini kita mulai.
Pada dasarnya, saya punya direktori dengan banyak sub direktori dan file - dan saya ingin mengatur izin berikut:
Untuk direktori: 770 (u + rwx, g + rwx, o-rwx)
Untuk file: 660 (U + rw, g + rw, kapak, o-rw)
Saya ingin mencoba dan melakukan ini dengan chmod rekursif tunggal jika memungkinkan - untuk menghindari pengulangan melalui setiap direktori dan mengatur izin file-by-file.
Saya membayangkan harus ada cara untuk melakukan ini tanpa menulis skrip shell saya sendiri - tetapi saya belum dapat menemukan apa pun.
Saya menghargai bantuan Anda!
sumber
Tidak perlu skrip.
// Direktori:
// File:
sumber
Dalam kasus Anda itu mungkin tidak harus serumit yang dilakukan orang lain (meskipun
find
memang alat yang bagus untuk hal semacam ini secara umum). Perbedaan antara mode adalah bit eksekusi. Jika tidak ada file yang telah memiliki bit eksekusi, maka Anda dapat melakukannya dalam satu permintaanchmod
, seperti yang Anda minta.Kuncinya di sini adalah modal
X
, yang dijelaskan sebagai halaman manualJadi, jika file Anda belum memiliki bit eksekusi, itu hanya akan ditetapkan untuk direktori.
sumber
Saya menemukan bahwa setidaknya untuk kasus penggunaan saya, menggunakan
rsync
untuk menyalin direktori ke dirinya sendiri jauh lebih cepat daripada menggunakanchmod
langsung dengan daftar file darifind
.Jika Anda ingin menambahkan a
chown
ke operasi yang sama,rsync
memungkinkan Anda melakukannya juga dengan--chown=user:group
opsi.sumber
Bersih dan sederhana:
sumber
find ... -exec chmod ... {} \;