OS X si basa su un solido e completo sistema operativo UNIX chiamato Darwin e che utilizza tecnologie aperte quali FreeBSD, Mach, Apache e GCC. Terminale è il punto di accesso al sistema operativo UNIX su OS X ed è l’applicazione a linea di comando che consente di interagire direttamente con il sistema operativo BSD. Il sito Apple.blogoverflow.com, fa notare che OS X 10.8 integra non solo le 200 nuove caratteristiche evidenziate da Apple ma mette a disposizione anche dei nuovi comandi per il Terminale. Alcuni nuovi comandi riguardano la gestione dell’autenticazione in remoto RADIUS (Remote Authentication Dial-In User Service), il protocollo di rete Kerberos, il database management Berkely DB e sono poco utili per la maggiorparte degli utenti, altri ancora sono di sicuro interesse per gli utenti più smaliziati. Il comando “sharing”, ad esempio, permette di creare, modificare e cancellare share point (directory condivise) pin una rete locale per servizi afp, ftp, smb permettendo l’interoperabilità fra sistemi operativi quali Windows, Mac e Linux. Nella sua forma più semplice, il comando può essere utilizzato per aggiungere un elemento condiviso a una specifica directory su afp, ftp e smb/Samba:
sudo sharing -a /Users/bob/bobs-toolbox
Per disabilitare l’accesso all’utente “guest” alla condivisione sopra creata, basta digitare:
sudo sharing -e /Users/bob/bobs-toolbox -g 000
Per disattivare la condivisione:
sudo sharing -r /Users/bob/bobs-toolbox
Il comando sharing consente di personalizzare i nomi per l’accesso, vari flag per modificare individualmente attributi di condivisione e protocollo di accesso. Unico forse aspetto negativo è la necessità di eseguire sempre il comando con i privilegi di root: problema ad ogni modo trascurabile per chi smanetta con il Terminale.
Serverinfo è un comando utile per l’esecuzione di script per la shell e consente di determinare se l’ambiente nel quale lo script è eseguito è la versione client o server di OS X e nel caso della versione server se alcune funzionalità sono attive o meno:
if serverinfo -q –hardware; then echo script eseguito in ambiente server; fi
Il comando Man non riporta aiuto su questo comando, ma digitando:
serverinfo –h
sono visualizzate le opzioni e i comandi disponibili.
Caffeinate è un comando che, come il nome lascia intuire, impedisce al Mac di attivare per un determinato periodo la modalità di sleep (es. un’ora):
caffeinate -u -t 3600
È possibile creare comandi con asserzioni del tipo:
caffeinate -s un-qualunque-comando-che-ha-bisogno-di-tempo –parametri
Apple ha aggiunto in OS X 10.8 la possibilità di cifrare i backup Time Machine e un nuovo tool per la linea di comando fdesetup (descritto qui dettagliatamente) consente a terze parti e amministratori di monitorare e impostare vari parametri di FileVault (attivare o disattivare la funzione, aggiungere e rimuovere utenti, verificare lo stato, ecc.) e anche sincronizzare le informazioni con Open Diretory, funzione utile in ambito aziendale.
Si possono elencare gli utenti abilitati:
sudo fdesetup list
e abilitare singoli account utente:
sudo fdesetup add -usertoadd pippo
Gli amministratori di un ambiente di rete possono forzare l’attivazione di FileVault su tutti i computer del network sfruttando ingegnose combinazioni di ssh e fdesetup, compresa l’integrazione con Open Directory e Accesso Portachiavi. Il comando al momento supporta solo il disco principale di sistema; la cifratura di altri dispositivi di storage può essere eseguita con il comando hdiutil.
Di serie con OS X 10.8 troviamo ora i comandi pgrep e pkill. Il primo consente di eseguire particolari filtraggi e rappresentazioni dei processi in esecuzione, con modalità flessibili rispetto il comando ps. Pkill è un comando da usare con cautela e, al pari dei comandi kill e killall, è utile per inviare dei segnali permettendo di usare espressioni regolari e altri criteri. Se vogliamo, ad esempio, sapere quanti processi ha in esecuzione Chrome, basta digitare:
pgrep Chrome | wc -l
Modalità d’uso più complesse consentono, ad esempio, di restringere le istanze a determinati utenti. Per inviare un segnale e provocare il termine dell’applicazione Chrome per l’utente “mauro”, si può ad esempio digitare:
sudo pkill -U mauro Chrome
Facendo seguire il parametro “-I” al comando, è richiesta la conferma prima di ogni tentativo d’invio dei segnali.
Altro comando interessante tccutil: permette di gestire il privacy database nel quale sono memorizzate le decisioni dell’utente riguardo quali applicazioni possono accedere ai contatti e dati personali. Nella forma attuale, il comando consente solo di rimuovere/reimpostare le decisioni riguardanti uno specifico servizio, eguagliando quanto è possibile fare dalla sezione “Privacy” delle Preferenze “Sicurezza e Privacy”; potrebbe ogni modo trattarsi di uno strumento utile per gli amministratori che hanno la necessità di verificare le impostazioni in questione da remoto.
[A cura di Mauro Notarianni]