La directory con le autorizzazioni corrette non è scrivibile

1

Ho installato alta sierra su una nuova macchina e poi ho copiato alcune directory all'interno della mia casa dal mio disco esterno della mia macchina del tempo.

Il backup è stato creato con un'altra macchina e versione OS di un utente con lo stesso nome di quello creato di recente sulla nuova installazione.

Il 90% delle cose è andato bene.

Per motivi sconosciuti alcune sottodirectory della mia casa (copiata dal backup) non sono scrivibili.

Ho provato ogni possibile combinazione di comandi chmod e in teoria tutto dovrebbe funzionare correttamente:

  • cmd + i, generale:
    • elemento non bloccato
    • elemento non condiviso
  • cmd + i, condivisione e autorizzazione:
    • myuser: lettura e scrittura
    • personale: sola lettura
    • tutti: sola lettura
  • stat mostra:
    • Accesso: (0755 / drwxr-xr-x) Uid: (501 / myuser) Gid: (20 / staff)
    • 501 è l'ID corretto del mio attuale utente

Penso che non si tratti di un problema di autorizzazione unix visto che le autorizzazioni dovrebbero funzionare così com'è.

Ho anche provato chflags nouchg my_folder senza fortuna.

Non sei sicuro di cosa potrebbe causare questo.

    
posta Leonardo 27.07.2018 - 02:03
fonte

1 risposta

1

I permessi di scrittura possono essere bloccati dalle modalità file / cartella, dai contrassegni utente, dalla non proprietà, dagli elenchi di controllo di accesso (ACL) e / o dagli attributi estesi. Di seguito sono riportati alcuni comandi che possono correggere questi tipi di errori.

Note: I assume my_folder does not contain any symbolic links. If there are symbolic links, then these commands may need to be modified.

Puoi cambiare in modo ricorsivo la modalità cartelle su 755 (drwxr-xr-x) usando il comando indicato di seguito.

find my_folder -type d -execdir chmod 755 {} \;

Puoi cambiare in modo ricorsivo la modalità dei file regolari in 644 (-rw-r -r--) usando il comando indicato di seguito.

find my_folder -type f -execdir chmod 644 {} \;

È possibile rimuovere ricorsivamente i flag utente utilizzando il comando indicato di seguito.

sudo chflags -R nouchg,nohidden,noopaque,dump,nouappnd my_folder

È possibile modificare in modo ricorsivo la proprietà degli utenti di file e cartelle utilizzando il comando indicato di seguito.

sudo chown -R $USER my_folder

È possibile modificare in modo ricorsivo il gruppo di file e cartelle in staff utilizzando il comando indicato di seguito.

sudo chgrp -R staff my_folder

È possibile rimuovere in modo ricorsivo qualsiasi elenco di controllo di accesso (ACL) utilizzando il comando indicato di seguito.

chmod -RN my_folder

Puoi rimuovere ricorsivamente tutti gli attributi estesi usando il comando indicato di seguito.

xattr -rc my_folder

Spesso la ricerca di file e / o cartelle bloccati può essere utile. Di seguito è riportato un comando per questo.

find my_folder -flags +uchg -exec ls -dF {} \;
    
risposta data 27.07.2018 - 10:00
fonte

Leggi altre domande sui tag