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


3

Sono totalmente perplesso su questo: un Macbook Air, 10.9.2. Per quanto posso dire, dovrei essere in grado di scrivere nella mia directory della Libreria. Tutto ciò 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 poi per qualche motivo in cui posso lavorare ~/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 poiché gli ACL hanno la precedenza sui permessi UNIX , la rimozione degli ACL era il trucco:

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

Come ho potuto ottenere tali ACL sul mio ~ / Library? Non ne ho idea.


Sudo funziona?
Thomas Ayoub,

Cosa ls -ld@eOmostra su di esso? (L' -ee -Omostrare le voci di controllo di accesso e le bandiere di file, rispettivamente.)
Gordon Davisson

@GordonDavisson Erano voci ACL, grazie! Se aggiungi una risposta (chmod -RN ~ / Library li rimuove ricorsivamente) Li accetterò :)
Nate

Risposte:


0

Per visualizzare il resto delle autorizzazioni (ACL e flag di file), aggiungere -ee -Oal lscomando. Uso abitualmente ls -leO@come versione "raccontami tutto" di ls.

In questo caso, il problema era una voce "nega" controllo accessi, che sovrascriverà le normali autorizzazioni POSIX. Non ho idea di come possa essere stato aggiunto alla tua cartella ~ / Library, 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 chmodcomando, poiché ci sono alcuni elementi all'interno di ~ / Library che dovrebbero avere ACL (principalmente per prevenire la ridenominazione accidentale o la cancellazione di elementi importanti) . Ma non credo che la rimozione di tutto possa causare alcun danno reale e, se sei preoccupato per altri ACL spuri, il ripristino ricorsivo ha senso.


Un gruppo di sottodirectory aveva anche applicato pazzi ACL, quindi sarebbe stato 'debug degli errori magici per sempre' (ad esempio, questo ha fatto sì che iTunes mi dicesse che il mio backup di iPhone era corrotto, tranne che non c'erano affatto backup ) o "frega gli ACL" e ho scelto quest'ultimo :)
Nate,

In tal caso, sì, il ripristino ricorsivo è l'opzione migliore. Mi sono guardato attorno un po 'e non vedo nessuno degli ACL "standard" che sembrano davvero importanti.
Gordon Davisson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.