Le autorizzazioni sono fastidiosamente complicate, spesso a causa degli elenchi di controllo degli accessi.
PathFinder di CocoaTech fornisce informazioni più ampie sulle autorizzazioni rispetto a Finder e ha un periodo di prova, ma fondamentalmente è necessario Terminal per ottenere informazioni complete.
Esistono in realtà tre livelli di ostruzione per completare il controllo dei file in OS X: autorizzazioni, liste di controllo degli accessi e flag. Il programma binario "ls" ("elenca il contenuto della directory [Unix equivalente a Windows" dir "]) richiede i flag della riga di comando per mostrare tutte le restrizioni. Dopo aver avviato Terminal, digitare:
cd /Volumes
/bin/ls -AFleO
Questo mostra le autorizzazioni correnti, i flag e le voci dell'elenco di controllo degli accessi 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/
Quel lungo elenco di caratteri dopo "BackGround2 /" è una voce ACL. I trattini sulla riga del file sono i punti in cui verranno elencati i flag. Il flag di sistema può essere impostato in modalità multiutente, ma può essere impostato SOLO in modalità utente singolo. Mio padre è riuscito a mettere 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.
Utilizzare il comando Pagina manuale man chflags
per ottenere maggiori informazioni su come impostare e disinserire i flag. Se tutto ciò che vedi sono trattini, allora non sono impostati flag.
Per rimuovere le voci ACL, il comando per il mio esempio sarebbe " sudo /bin/chmod -NR Background2/
", che richiederebbe una password amministratore. ATTENZIONE ! Cose brutte possono accadere quando sei il superutente. Vedi 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 hanno gli stessi nomi, ma non possono presentare o modificare le voci ACL. Questi sono disponibili da MacPorts MacPorts.org .