Soru Yinelemeli olarak yalnızca dizinlerdeki veya dosyalardaki sahiplik veya izinleri değiştirin


Dizinleri veya dosyaları, diğerini değiştirmeden, belirli bir dizinde yinelemeli olarak izinler / sahiplik ayarlamaya çalışıyorum.

Örneğin. Tüm dizinleri 775'e ayarlamak istediğim dizin / web'im var, fakat dosyalar 664'e.

Bunu kolayca yapmanın bir yolu var mı?


5
2017-11-07 06:47


Menşei




Cevaplar:


Dosyalar için:

$ find /path/to/directory -type f -print0 | xargs -0 chmod 664

Dizinler için:

$ find /path/to/directory -type d -print0 | xargs -0 chmod 775

13
2017-11-07 06:48



find ... -print0 | xargs -0 ... dosya isimlerinde boşluk veya satır sonu olması durumunda. - Dennis Williamson
Mükemmel, düzeltme için teşekkürler, Dennis. Buna göre düzenlenmiştir. - EEAA


ErikA'nın cevabının bir eki olarak, bunu yapmak istediğinizi tahmin etmeme neden olacak olsaydım, "grup" için yazma biti eklemek istediniz. Eğer durum buysa, iki komuta dansından kaçabilir ve sadece koşabilirsiniz:

chmod -R g+w /path/to/directory

3
2017-11-07 11:04



Teşekkürler, önemli olan dosya veya dizinler arasında bölünmüş olsa da. - xtfer