Un po 'tardi alla festa, ma nel caso in cui i futuri lettori si imbattano in questo;) Come affermato da altri, su un file system OS-X standard il setUID per le directory viene ignorato - e non sembra esserci un modo semplice per aggirare questo ( mount -o
.... o cosa no). Come spesso accade, la pagina man in realtà non è conforme al comportamento OS-X che afferma letteralmente:
4000 (il set-user-ID-on-esecuzione bit) [...] Le directory con il set-user-id bit set imporranno che tutti i file e le sottodirectory in essi creati siano di proprietà del proprietario della directory e non di l'uid del processo di creazione [...]
ma elenca anche la possibilità di ottenere lo stesso effetto senza rinunciare alla proprietà originale. Linux usa '[g /] setfacls' per effetti simili (sono autorizzazioni non realmente visibili a prima vista, quindi a volte può essere un fastidio).
Per quanto riguarda il "come posso ottenere effetti simili", leggi l'intera pagina man e giocherella con:
chmod +a 'guest allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' ./[DIRECTORY]
puoi controllare tramite
ls -le
se tutto sembra a posto. Altre opzioni includono l'inserimento di regole in posizioni specifiche, la rimozione o la sostituzione di regole specifiche. Le due opzioni degne di nota qui sono " file_inherit
e directory_inherit
" che consentono di allegare le regole a una nuova directory / file.
Non mi piace molto usare setUID, ma setGID è molto utile sui server di file in cui la semplice impostazione del gruppo 'principale' non funziona o i client hanno maschere di file che non consentono la scrittura di gruppo. Ciò sarebbe risolto da:
chmod +a 'mygroup allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' /fileserver/groupfolders/mygroup