Terminale Mac OS X: Gli utenti e i permessi – Guide SlideToMac

Dopo aver visto come configurare le preferenze generali del Terminale, passiamo ora a vedere le differenze tra utenti e la gestione dei permessi.

In ambiente Mac OS X, derivando direttamente da sistemi UNIX, la gestione degli utenti risulta essere ben diversa dal mondo Windows.
A onor del vero, la Microsoft sta cercando di aumentare la differenza tra utente normale e utente amministratore ma, rispetto a UNIX, di strada deve ancora farne.
Prima di addentrarci nei comandi e nelle personalizzazioni dei vari utenti, quando accederemo da Terminale, sarà il caso di capire gli utenti come vengono classificati.

  • UTENTI

Come in ambiente UNIX, anche su Mac OS X possiamo suddividere gli utenti in 2 categorie separate.

  • Amministratori: il primo utente che create quando accendete per la prima volta il vostro Mac avrà questi privilegi. Avrà la possibilità di modificare i componenti di sistema, diventare root ed eseguire comandi sudo;
  • Standard: questi utenti non hanno privilegi, se non sul loro stesso account. Non hanno il permesso di eseguire comandi sudo né tantomeno diventare root. Unico privilegio concesso è quello di diventare un utente amministratore.

 

Fuori da queste due categorie c’è l’utente root, il superuser: è il massimo amministratore del sistema. Utilizzando questo utente potremo avere pieno accesso a tutto il sistema senza nessun tipo di limiti.
Ovviamente, data la sua importanza, ogni volta che utilizziamo l’utente root bisogna essere molto attenti a quello che si fa. Per fare un esempio: l’utente root può cancellare tutto il sistema, senza limiti anche a sistema operativo avviato.

  • PERMESSI UTENTE

L’utente Amministratore ha il controllo della propria home (ovvero la cartella di inizio dell’utente) e su tutti i file che le varie sottocartelle contengono.
Questo tipo di utente ha, però, la possiblità di ampliare i suoi “poteri” anteponendo il comando SUDO (Super User DO= fai come fossi il superuser, ovvero root).

I comandi che possono essere eseguiti da root, o anche l’accesso e modifica di file che sono di sua proprietà, potranno essere lanciati da Terminale dall’utente amministratore.
Per farlo basterà anteporre il comando sudo. Se utilizzate il comando sudo dovrete, poi, inserire la password del VOSTRO utente.

Per fare un esempio, il file hosts (che serve per la gestione della risoluzione dei nomi di server senza utilizzare il DNS) è un file che solo l’utente root può modificare.
L’utente amministratore potrà modificarlo solo nel caso in cui antemporrà il comando sudo.

Una piccola nota prima di andare avanti: nei sistemi UNIX c’è differenza tra i caratteri maiuscoli e minuscoli. Tutti i comandi sono sempre in caratteri minuscoli.

L’amministratore può avviare direttamente una shell come root utilizzando “su” o “su -“. Vediamo la differenza:

  • su : in questo caso si accederà come utente root, ma le variabili, i path, la home direcotry resteranno quelle dell’utente amministratore;
  • su – : in questo caso, viene avviata una nuova shell. Variabili, path e home saranno quelli di root.

L’utente standard non potrà in alcun modo eseguire comandi sudo né tantomeno accedere come utente root.
L’utente standard, se volesse eseguire comandi da superuser, dovrà necessariamente effettuare un accesso da Terminale come un utente amministratore e successivamente accedere come utente root.
Nelle successive guide vedremo come effettuare questo passaggio.

  • PERMESSI SU FILE E CARTELLE

La gestione dei permessi su file e cartelle, in ambito UNIX, risulta essere molto diversa da quella in ambito Windows.
Cominciamo con il chiarire i singoli permessi:

  • R = Read, lettura
  • W = Write, scrittura
  • X = Execute, esecuzione

Rappresentano i tre permessi che ogni singola cartella o file può avere. Ogni singolo permesso ha un suo valore così come la loro combinazione:

  • 0 = Nessun permesso
  •  1 = Esecuzione
  •  2 = Scrittura
  •  4 = Lettura

Se volessimo dare il permesso di lettura+esecuzione ad un file dovremo indicare il valore 5 (1+4).
Per fortuna, non è necessario ricordare per forza i numeri: basterà indicare l’iniziale del permesso (r,w o x) e antemporre il simbolo “+” o “-“, nel caso di concedere o togliere il permesso.

La gestione dei permessi, purtroppo (per chi si avvicina la prima volta a UNIX) o per fortuna (per chi ci lavora costantemente), non solo si hanno sui singoli file o cartelle, ma viene differenziata altresì anche in base all’utente, il gruppo di appartenenza o a tutti gli altri.
Anche in questo caso, un semplice acronimo ci viene in aiuto per ricordare le varie succesioni: UGO, ovvero User, Group, Other.

Vediamo con un esempio chiarificatore:

dr-xr-xr-x 3 root wheel 4430 Dec 28 07:36 dev

Cerchiamo di capire cosa ci dice il Terminale. Andiamo ad esaminare i permessei della cartella “dev”, ovvero “dr-xr-xr-x”. Estrapoliamo i singoli componenti.

  • d = ci indica che è una directory; nel caso non sia indicato nessun valore sarà un file, se è presente una “l” indicherà un link simbolico (vedremo nelle successive guide di cosa si tratti);

A questo punto dobbiamo leggere a blocchi di 3 simboli:

  • Primo “r-x”: indica i permessi del proprietario (in questo caso root), la cartella ha permessi di esecuzione e lettura, ma non modifica;
  • Secondo “r-x”: indica i permessi del gruppo di appartenenza (in questo caso wheel); tutti gli utenti che fanno parte del gruppo whell potranno leggere ed eseguire;
  • Terzo “r-x”: i permessi per tutti gli altri utenti, che non siano il proprietario del file e non fanno parte del gruppo.

 

 

Facciamo un secondo esempio:

drwx——+ 4 iphoneitalia staff 136 Dec 28 13:40 Downloads

La cartella (ce lo dice la “d”) Downloads è di proprietà dell’utente iphoneitalia (gruppo di appartenenza staff).
L’utente in questione ha pieno controllo della cartella (lettura, scrittura ed esecuzione).
E’ negato, invece, qualiasi altro permesso ad altri utenti che non siano iphoneitalia, anche facenti parti del gruppo staff.
Ovviamente a questa regola fa eccezione il solo utente root.

 

 

Terzo ed ultimo esempio:

-rw-r–r–@ 1 root wheel 4151 Dec 28 12:08 hosts

File hosts: proprietario root che può leggerlo e modificarlo, gli altri utenti (anche se fanno parte del gruppo wheel) potranno solo leggerlo ma non avranno modo di modificarlo. Nessun utente può eseguirlo.

Siamo arrivati così alla fine del nostro secondo articolo. Immagino che in concetti fino ad ora spiegati possano risultare strani ad un primo approccio.
Il mio consiglio è quello di prendere confidenza con il Terminale e cominciare a leggere i permessi.
Per poterli visualizzare nella maniera corretta, potete usare il comando “ls -l”.

Vi ricordo che il primo articolo è disponibile al seguente link.

Stay Tuned!

NovitàAcquista il nuovo iPhone 16 Pro su Amazon
Guide Mac