Le autorizzazioni sono fastidiosamente complicate, spesso a causa degli elenchi di controllo di accesso.
PathFinder da CocoaTech fornisce informazioni più estese sui permessi rispetto a Finder e ha un periodo di prova, ma fondamentalmente il terminale è necessario per ottenere informazioni complete.
Ci sono in realtà tre livelli di ostruzione per completare il controllo dei file in OS X: autorizzazioni, liste di controllo di accesso e bandiere. Il programma binario "ls" ("elenco contenuto directory [Unix equivalente a Windows" dir "]) richiede i flag della riga di comando per mostrare tutte le restrizioni. Dopo aver avviato Terminale, digitare:
cd /Volumes
/bin/ls -AFleO
Mostra le autorizzazioni correnti, i flag e le voci dell'elenco di controllo di accesso per ciascun volume collegato al sistema operativo. Sul mio sistema, questo produce:
drwxr-xr-x 30 root wheel - 1088 May 6 23:17 AltBoot/
drwxrwxrwx 46 root wheel - 1632 May 16 11:43 BackGround1/
drwxrwxrwx+ 37 root admin - 1326 May 24 14:07 BackGround2/
0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
lrwxr-xr-x 1 root admin - 1 May 14 20:40 Ground@ -> /
drwxrwxrwx+ 13 xxxxxx staff - 510 Feb 22 17:46 GroundTM/
0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
drwxrwxrwx 11 xxxxxx staff - 442 Feb 22 17:46 VMware4/
Quella lunga lista di caratteri dopo "BackGround2 /" è una voce ACL. I trattini sulla riga del file sono dove verranno elencati tutti i flag. Il flag di sistema può essere impostato in modalità multiutente, ma può essere SOLO disinserito in modalità utente singolo. Mio padre è riuscito a ottenere quella bandiera su alcune delle sue foto, e mi ci è voluto molto tempo per scoprire perché non potevo cancellare o cambiare il proprietario su quei file. E non avrebbe mai toccato Terminal in alcun modo.
Utilizza il comando di pagina manuale man chflags
per ottenere maggiori informazioni su come impostare e rimuovere i flag. Se tutto ciò che vedi sono trattini, allora non sono impostati i flag.
Per rimuovere le voci ACL, il comando per il mio esempio sarebbe " sudo /bin/chmod -NR Background2/
", che richiederebbe una password amministratore. ATTENZIONE ! Le cose brutte possono accadere quando sei un superutente. Vedere man chmod
per maggiori informazioni sulle voci ACL. (Sto mettendo / bin / prima dei comandi perché solo i programmi forniti da Apple nella directory / bin possono influenzare gli ACL. Ci sono programmi GNU che possono essere aggiunti a OS X e avere lo stesso nome, ma non possono presentare o modificare voci ACL. Questi sono disponibili da MacPorts MacPorts.org .