Come posso trovare il mio ID utente e il mio gruppo in Mac OS X?


59

Prova di eseguire questo compand nel terminale:

sudo chown -R yourid:yourgroup local

Tuttavia, non ho idea di quale sia il mio ID e il mio gruppo, né dove trovarli. Qualche idea?

Risposte:


61

Su OS X, il tuo gruppo principale è sempre a staffmeno che tu o il tuo gestore directory utenti non lo abbia modificato.

Che cos'è un gruppo primario ? Il gruppo principale di un utente è il proprietario predefinito di tutti i file creati da quell'utente.


Ai fini di chmodsul tuo computer, puoi utilizzare il tuo ID utente numerico (ad es. 501) o il nome del tuo account (ad es danielbeck.). Quest'ultimo è diverso dal nome utente che di solito vedi nell'interfaccia utente (ad esempio Daniel Beck ).

Puoi determinare il nome del tuo account utilizzando uno dei seguenti:

  • È il nome della tua home directory (a meno che tu non l'abbia personalizzata) nel titolo o nella barra laterale del Finder

  • Esegui whoamiin Terminal - quindi chown -R $(whoami):staffdovrebbe essere sufficiente. Puoi anche ottenere il tuo gruppo principale con groups $(whoami) | cut -d' ' -f1.

  • Apri Preferenze di Sistema »Utenti e gruppi , sblocca il riquadro, se necessario, fai clic con il pulsante destro del mouse sul tuo nome utente (la singola voce dell'elenco nella sezione Utente corrente ) e seleziona Opzioni avanzate… . È il campo Nome account nella finestra di dialogo appena aperta. Questa finestra di dialogo mostra anche il tuo gruppo principale.

  • Esegui idnel terminale per un output più dettagliato. Ciò includerà il tuo ID utente numerico. Elencherà anche tutti i gruppi di cui sei membro, non solo il tuo gruppo principale. Il primo gruppo è quello principale.


3
Invece di usare whoami, puoi usare idun oneliner compatibile con shell posix e csh. chown -R `id -u`:`id -g` FOLDER
fd0

Se usi l'autenticazione LDAP il tuo nome utente non sarà necessariamente staff. Non sul mio lavoro Mac OS X comunque.
Sridhar Sarnobat,

1
@ Sridhar-Sarnobat Mi rivolgo a questo nella seconda metà della prima frase della mia risposta.
Daniel Beck

42

Utilizzare il idcomando dal terminale. Mostrerà il tuo uid e i gruppi a cui appartieni. Ad esempio, ecco il mio output che mostra il mio ID utente (534), ID gruppo (20) e i gruppi a cui appartengo (anche 20).

uid=534(galuga) gid=20(staff) groups=20(staff)

15

Questo mostrerà il tuo userid.

$ id -u
502

Questo mostrerà i nomi dei tuoi gruppi. I nomi dei gruppi sono tra parentesi.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)

4

nel Terminal, vai a ~/Documentsed esegui ls -la. Il tuo nome utente e gruppo saranno elencati accanto a ciascuno dei file / directory.

Dovrebbe sembrare come questo:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates

super facile e diretto, grazie per la punta.
teradyl,

3

Commenterei solo se potessi. Non ho abbastanza karma su questo sito.

Non ho idea del perché qualcuno abbia effettuato il downgrade di @callaginn, poiché ha sollevato un punto valido.

Sono validi i seguenti metodi (e probabilmente le migliori opzioni per gli script di shell):

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Vedi man idper più opzioni.

Per rispondere a questa domanda specifica se stavo scrivendo uno script che funzionasse in qualsiasi ambiente, non darei per scontato che il gruppo predefinito staffsia in uso e invece farei quanto segue se stavo scrivendo uno script che potesse essere eseguito per qualsiasi utente (indipendentemente dal fatto che abbiano modificato il loro sistema):

chown "$(id -un):$(id -gn)" some_file

È sempre meglio essere indipendenti dalla piattaforma ogni volta che è possibile (se non si tratta di un compromesso troppo lungo), poiché in seguito si incorrerà in un minore debito tecnico.

Si noti che chownla -Rbandiera deve essere utilizzata con la massima sicurezza. Potresti davvero rovinare il tuo sistema (anche se vale la pena notare che Apple lo ha reso difficile da quando hanno implementato System Integrity Protection).

Considera, ad esempio, se dovessi chown -R 755 /varinvece che chown -R 755 /var/wwwcome root con System Integrity Protectiondisabilitato, credo che ci vorresti. Non posso dirti cosa si spezzerebbe per primo, ma si romperà prima su un sistema Darwin, ma per favore prendi la mia parola che non sarebbe carino.

Speriamo che qualcuno lo trovi utile.


2

Un metodo ancora più breve per trovare il gruppo primario:

id -gn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.