Impossibile scrivere in ~ / Library, anche se le autorizzazioni sembrano OK

3

Sono totalmente sconcertato su questo: un Macbook Air, 10.9.2. Per quanto posso dire, dovrei essere in grado di scrivere nella directory della mia biblioteca. Tutto quello che posso vedere suggerisce che dovrei essere in grado di:

[njvack@zot Library]$ sw_vers | grep ProductVersion
ProductVersion: 10.9.2
[njvack@zot Library]$ id -a
uid=503(njvack) gid=20(staff) groups=20(staff),403(com.apple.sharepoint.group.3),12(everyone),61(localaccounts),402(com.apple.sharepoint.group.2),100(_lpoperator),401(com.apple.sharepoint.group.1)
[njvack@zot Library]$ pwd
/Users/njvack/Library
[njvack@zot Library]$ ls -ld@ .
drwx------@ 58 njvack  staff  1972 Apr 14 16:06 .
    com.apple.metadata:_kTimeMachineNewestSnapshot    50 
    com.apple.metadata:_kTimeMachineOldestSnapshot    50 
[njvack@zot Library]$ touch foo
touch: foo: Permission denied

E quindi per qualche motivo posso lavorare in ~/Library/iMovie , anche se le autorizzazioni dovrebbero essere effettivamente identiche:

njvack@zot Library]$ cd iMovie/
[njvack@zot iMovie]$ pwd
/Users/njvack/Library/iMovie
[njvack@zot iMovie]$ ls -ld@ .
drwx------+ 4 njvack  staff  136 Apr 16 08:41 .
[njvack@zot iMovie]$ touch foo

Cos'altro potrebbe causare questo? Cosa posso controllare? FWIW, le autorizzazioni di controllo dell'utilità disco non si lamentano di nulla.

EDIT: come suggerito, ecco le voci ACL:

[njvack@zot Library]$ ls -led .
drwx------@ 58 njvack  staff  1972 Apr 14 16:06 .
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

... e come Gli ACL sovrascrivono le autorizzazioni UNIX , rimuovere gli ACL è stato il trucco:

[njvack@zot Library]$ pwd
/Users/njvack/Library
[njvack@zot Library]$ chmod -RN .
[njvack@zot Library]$ touch foo

Come sono riuscito a ottenere questi ACL così vaghi sul mio ~ / Library? Non ne ho idea.

    
posta Nate 16.04.2014 - 15:50
fonte

1 risposta

0

Per visualizzare il resto delle autorizzazioni (ACL e flag di file), aggiungi -e e -O al comando ls . Uso abitualmente ls -leO@ come versione "dimmi tutto" di ls .

In questo caso, il problema era una voce di controllo dell'accesso "deny", che sovrascriveva le normali autorizzazioni POSIX. Non ho idea di come possa essere stato aggiunto alla tua ~ / Library folder, ma puoi rimuoverlo con chmod -N ~/Library .

È un po 'tardi, ma non avrei raccomandato di usare -R (applicare ricorsivamente a tutti i contenuti) su quel comando chmod , dato che ci sono alcuni elementi all'interno di ~ / Library che dovrebbero avere ACL (principalmente per impedire la ridenominazione o eliminazione accidentale di elementi importanti). Ma non credo che rimuovendo tutto sarà possibile fare del male, e se sei preoccupato per altri ACL spuri, il reset ricorsivo ha senso.

    
risposta data 17.04.2014 - 17:32
fonte

Leggi altre domande sui tag