chmod / chown hfs + Volume

1

Ho appena salvato alcuni dati da un PC in crash sul mio HD esterno, che è un volume HFS + che utilizza Ubuntu live (copia normale no dd). Ora mi sono perso: non ho alcun privilegio nella cartella che ho copiato sul mio Macbook. Ho provato a cambiarlo usando chmod e chown, sia come utente normale che come root, ma ottengo sempre una "operazione non consentita". Il proprietario di tutti questi file è "999".

    
posta Benedikt Wutzi 31.05.2011 - 12:47
fonte

4 risposte

2

Parte 1:

Forse avrai bisogno di permessi di riparazione - fatti facilmente con Finder.

  • premi CMD-I nella directory in alto in cui sono i tuoi file nell'HDD esterno
  • fai clic sul simbolo del lucchetto (angolo in basso a destra)
  • inserisci la tua password
  • e regola la 1a linea nella sezione dei permessi (Me) per "Leggi e scrivi", e dalla ruota dentata seleziona "Applica agli elementi inclusi ..."

Quanto sopra dovrebbe riparare i permessi - ma - probabilmente non aiuterà (come già detto)

Parte 2:

Se la parte 1 non viene aiutata, probabilmente (e solo forse!) hai una lista ACL non funzionante. (perché i file vengono copiati su un altro sistema operativo). OS X HFS non ha solo le solite modalità chmod, ma mantiene anche ACL (access control list).

Provalo nel Terminal.app - NON copiare e incollare tutto in una volta, inserisci i comandi uno per uno ...

cd /Volumes/MOUNT_POINT/directory/with/the/backed/up/files
# where MOUNT_POINT is the drive name as appears in the Finder.  

pwd
# DOUBLE CHECK the pwd
# if you do the next on the wrong place - you can corrupt your system
# YOURE WARNED!!!

#this will remove all ACL informations recursively from all files in your current dir
sudo chmod -RN ./*

#this will change recursively the ownership of the files -> to you.
sudo chown -R $(whoami) ./*    #change ownership of files to you

cd      # go home

ora puoi uscire da Terminal.app e controllare l'accesso ai file tramite Finder e dovresti ripetere la prima parte - cambiando i permessi tramite Finder - > CMD-I ...

    
risposta data 31.05.2011 - 15:09
fonte
2

Come ha detto Karmatic, potrebbe essere un problema con gli ACL, ma sconsigliamo di cambiare l'UID degli utenti in quanto sembra una soluzione arretrata e potrebbe violare le cose (come l'impossibilità di accedere o accedere ad alcuni file critici). Vuoi correggere i file, non rompere l'UID dell'utente;)

Se i problemi riguardano gli ACL, o piuttosto gli ACE (che sono i set di regole per ACL, o meglio conosciuti come voci di controllo di accesso), allora è necessario ripararli. È possibile elencare una directory o file ACE utilizzando la funzione ls "e".

Esegui il comando "ls -le" da Terminale. Dovresti vedere un output come questo:

galvatron:~ cksum$ ls -le
total 0
drwx------+  4 cksum  staff   136 28 Aug 22:25 Desktop
 0: group:everyone deny delete
drwx------+ 10 cksum  staff   340 17 Aug 23:35 Documents
 0: group:everyone deny delete
drwx------+  8 cksum  staff   272 29 Aug 11:24 Downloads
 0: group:everyone deny delete
drwx------@ 55 cksum  staff  1870 26 Aug 21:15 Library
 0: group:everyone deny delete
drwx------+  6 cksum  staff   204 29 Aug 02:02 Movies
 0: group:everyone deny delete
drwx------+  7 cksum  staff   238  7 Jan  2011 Music
 0: group:everyone deny delete
drwx------+ 10 cksum  staff   340  8 Aug 15:31 Pictures
 0: group:everyone deny delete
drwxr-xr-x+  8 cksum  staff   272  9 Jan  2010 Public
 0: group:everyone deny delete
drwxr-xr-x+ 29 cksum  staff   986 28 Aug 15:08 Sites
 0: group:everyone deny delete

Nell'esempio sopra, puoi vedere che sono il proprietario e il gruppo a cui appartengono queste directory è "staff", di cui faccio parte. Quindi puoi vedere che ognuno ha lo stesso ACE, in questo caso, non tutti possono cancellare la directory. Quindi, se mettiamo tutto insieme, non ci sono voci di controllo di accesso che proteggano le directory da leggere o scrivere, ma non c'è nulla che lo protegga dall'eliminazione, in modo che sia necessario essere il proprietario o parte di quel gruppo per eliminarlo. Si noti inoltre che gli ACE sono elenchi ordinati, in quanto il primo hit regola è quello che si applica e tutti gli altri vengono ignorati. Ad esempio, se avessi una regola che consentiva di scrivere in un file, e quindi una che impediva di scrivere subito dopo, il file sarebbe scrivibile.

Gli ACL sono stati introdotti in Tiger e rimangono in gran parte invariati. Ars Technica ha una formidabile carrellata su come funzionano (sostituiscono chmod btw) e come gestirli: link

E si noti che il comando Autorizzazione riparazioni di OS X ripara solo i file di sistema critici per il funzionamento del sistema operativo, non i file utente.

    
risposta data 29.08.2011 - 23:31
fonte
1

L'ultima volta che ho avuto un tale problema è stato utile un disco di controllo. Dato che hai citato "crash" e sistemi operativi alternativi: potrebbe essere che il disco sia contrassegnato come sporco?

    
risposta data 31.05.2011 - 13:12
fonte
0

Ho avuto una situazione simile quando ho provato ad accedere ai file di sistema di un'unità NAS attraverso il mio iMac. Come già sottolineato @ jm666, ciò è dovuto agli ACL. Quando crei un utente in Mac ottiene un ID univoco (uid) nell'intervallo di 500+. Puoi trovare il tuo attuale uid correndo, id su Terminal.app. Tuttavia, gli uid di Linux partono da 1000 (ad esempio Ubuntu).

Se tutte le altre soluzioni non funzionano, puoi provare a creare un nuovo utente sul tuo Mac e un gruppo con un ID simile all'utente di Linux e dovresti essere in grado di accedere a tutti i file con permessi di lettura / scrittura.

Ecco i passaggi da seguire.

  1. Apri le Preferenze di sistema e crea un nuovo utente (ad es. kevin)
  2. Apri Terminal.app (/Applications/Utilities/Terminal.app)
  3. Esegui id kevin per trovare l'uid di kevin.
  4. Esegui sudo dscl . -change /Users/kevin UniqueID 504 1000 (assumendo il suo attuale uid = 504)
  5. Cambia il proprietario della home directory di kevin eseguendo sudo chown -R 1000 /Users/kevin .
  6. Accedi come kevin e accedi ai tuoi file linux.
risposta data 31.05.2011 - 15:44
fonte

Leggi altre domande sui tag