[Çözüldü] Sadece dosya veya dizinlere toplu izin vermek?

Başlatan Felâsife, 28 Kasım 2013 - 17:12:54

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Felâsife

Selamlar
Filezilla nın sunucuda sadece dosyalara veya dizinlere ayrı ayrı toplu izin vermesini biliyorsunuzdur, peki bunu kendi bilgisayarımızda komutlarla veya bir betikle nasıl yaparız?

Örn. Bilgisayarım içindeki bir dizinde sadece dosyaların iznini toplu şekilde değiştirmek istiyorum, dizinlere dokunmadan..
Tersi durumda olur, dizinler değişsin ama dosyalar değişmesin gibi.

Malum chmod -R 777 xxx gibi komut her şeyin iznini aynı yapıyor.
Maceraya hazır mısın!  Bir BSD almaz mısın?

cagriemer

find komutunun -type secenegini kullanabilirsiniz. Genelde web sunucularda cok kullanildigi icin oradan iki ornek vereyim.

find /dosya/yolum -type d -exec chmod 755 {} +
find /dosya/yolum  -type f -exec chmod 644 {} +


Ilk komutu aciklayayim ikincisi de ayni islemi yapiyor zaten. /dosya/yolum altindaki tum dizinleri bul (type -d directory manasinda) ve bunlar uzerinde chmod755 calistir. exec tarafinda bir iki seceneginiz var. Ben bu yukaridaki sekilde tercih ediyorum ama diger secenegi de find'in man sayfasinda bulabilirsiniz.

Felâsife

Çok teşekkür derim @cagriemer, her iki kodda gayet güzel çalıştı.

Bu konu çok zamandır kafamı kurcalıyordu, pek bir şeyde bulamamıştım, acaba betikle filan mı oluyor ki diyordum-ki hiçte öyle değilmiş. :D
İki mütevazi satırlada pek güzel oluyormuş, sağ olasın.  ;)
Maceraya hazır mısın!  Bir BSD almaz mısın?