DÜZENLEME : Sorun, Apple'ın yedeklemeleri işaretlemek için izinler kullanması ve bunları değiştirmenizi engellemesiydi (muhtemelen bir güvenlik özelliği). Kullanarak chmod -RN <dir>, önemli veriler içeren tüm klasörlerdeki ACL verilerini kaldırdım ve bu da kendimi sahip yapmama ve uygun izinleri uygulamama izin verdi.
Orijinal soru
Şu anda yanlış izinlere (temiz kurulum, uzun hikaye sırasında değiştirdiğim UID'im) sahip son derece büyük bir yedeklemem (> 700GB) var ve bunları değiştirmem gerekiyor. Zaman alıcı seçenek, her bir klasörü manuel olarak gözden geçirip izinleri değiştirmektir, ancak bu zaman alacaktır.
chownKendimi tüm önemli verilerimin sahibi yapmak için kullanmak ve sonra chmod 700tüm bu klasörlerde rwxyalnızca bana izin vermek için kullanmak istiyorum.
İdeal çözüm, finddüzenli ifadeyle eşleşen klasörleri (şimdiki adım .*/[DCV].*|Pictures|M[ou].*) özyinelemeli olarak aramak ve daha sonra UID'imi sahibi yapmak ve izinleri 700 olarak ayarlamak için kullanılan bir yöntemdir .
Anlayamadığım önemli nokta:
Ancak koşmaya çalıştığımda chown Me DirectoryNameanladım chown: DirectoryName: Operation not permitted.
Bulduğum her şey, bir dizinin değil , bir dosyanın izinlerini değiştirmekle ilgilidir . Belki de buna yanlış bakıyorum?
Bir şey bana UID'imi rwxve diğer ---herkese vermenin bir yolu olmadığını söylüyor .
Bunu nasıl başarabilirim? Mac OS X 10.10.3 kullanıyorum.
Bunun bir UNIX / Linux forumu (ve Mac koşuyorum) olduğunu biliyoruz ama bu soru çok daha fazla kabuk kullanmaktan ibarettir chown, chmodherhangi UNIX tabanlı işletim sistemi için geçerli olacak, izinler ve herhangi çözümleri ve burada yayınlanan. Gönderilen çözümlerin eski yedeklerimin Time Machine'de yeniden görünmesini sağlaması tercih edilir.
Hemen cevap veren herkese teşekkürler, ama chown nedense dizinler üzerinde çalışmıyor gibi görünüyor. Bunun .sparsebundlebir ağ sürücüsündeki bir disk görüntüsü olması önemli midir? Herhangi bir harici sürücü ile aynı olacağını varsaydım.
find . -user $other_uid -print0 | sudo xargs chown $USERçalışmalıdır.
df -hT <dirname>söylemeliyim.
df -hT <dir>, a) ağ HDD'sinin kök dizini b) ağ HDD'sindeki disk görüntüsünü c) ağ HDD'sindeki herhangi bir klasör için çıktı vermez . Belki de amaçladığınız davranış Mac'te ve Linux'ta farklı şekilde uygulanır?
root_squashetkinleştirilmiş olarak dışa aktarma şansı yüksektir , bu nedenlechownistemciden olduğu gibi yalnızca kök işlemleri gerçekleştiremezsiniz .