Partiye biraz geç, ancak gelecekteki okuyucuların bununla karşılaşması durumunda;) Başkaları tarafından belirtildiği gibi, standart bir OS-X dosya sisteminde dizinler için setUID göz ardı edilir - ve bunun kolay bir yolu yoktur ( mount -o
.... ya da ne değil). Sıklıkla, man sayfası gerçekte belirttiği OS-X davranışına uymuyor:
4000 (set-user-ID-yürütmede bit) [...] set-user-id bit setine sahip dizinler, içinde oluşturulan tüm dosyaların ve alt dizinlerin sahiplerine değil, dizin sahibine ait olmasını zorlar oluşturma sürecinin uid [...]
ancak aynı zamanda orijinal mülkiyeti bırakmadan aynı etkiyi elde etme olasılığını da listeler. Linux benzer etkiler için '[g /] setfacls' kullanır (bunlar ilk bakışta gerçekten görünmeyen izinlerdir, bu yüzden bazen sıkıntı olabilir).
'Benzer etkileri nasıl elde edebilirim' ile ilgili olarak, tüm kılavuz sayfasını okuyun ve şunlarla uğraşın:
chmod +a 'guest allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' ./[DIRECTORY]
üzerinden kontrol edebilirsin
ls -le
eğer hepsi iyi görünüyorsa. Diğer seçenekler arasında belirli konumlara kural ekleme, belirli kuralları kaldırma veya değiştirme yer alır. Buradaki iki dikkate değer seçenek , kuralların yeni bir dizine / dosyaya eklenmesine izin veren " file_inherit
ve directory_inherit
" şeklindedir.
SetUID'i kullanmaktan gerçekten hoşlanmıyorum, ancak setGID, sadece 'ana' grubun ayarlanmasının işe yaramadığı veya istemcilerin grup yazma işlemine izin vermemesine neden olan dosya sunucularında çok kullanışlı geliyor. Bu şu şekilde çözülebilir:
chmod +a 'mygroup allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' /fileserver/groupfolders/mygroup