2013-05-02 16:34:01 +0000 2013-05-02 16:34:01 +0000
62
62

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

Cerco di eseguire questo comando in un terminale:

sudo chown -R yourid:yourgroup local

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

Risposte (6)

65
65
65
2013-05-02 16:49:08 +0000

Su OS X, il tuo gruppo primario è sempre staff a meno che tu o il tuo gestore di directory utente non l'abbiate cambiato.

Cos'è un gruppo primario? Il gruppo primario di un utente è per default il proprietario di tutti i file creati da quell'utente.


Per gli scopi di chmod sul tuo computer, puoi usare o il tuo ID utente numerico (ad esempio 501), o il nome del tuo account (ad esempio danielbeck). Quest'ultimo è diverso dal nome utente che di solito vedi nell'UI (per esempio Daniel Beck).

Puoi determinare il nome del tuo account usando uno dei seguenti metodi:

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

  • Esegui whoami nel Terminale - quindi un chown -R $(whoami):staff dovrebbe bastare. Puoi anche ottenere il tuo gruppo primario con groups $(whoami) | cut -d' ' -f1.

  • Apri Preferenze di sistema “ Utenti e gruppi, sblocca il pannello se necessario, clicca col destro sul tuo nome utente (la singola voce della lista 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 primario.

  • Esegui id nel terminale per un output più prolisso. Questo includerà il tuo ID utente numerico. Elencherà anche tutti i gruppi di cui sei membro, non solo il tuo gruppo primario. Il primo gruppo è quello primario.

42
42
42
2013-11-27 01:56:17 +0000

Usa il comando id dal terminale. Mostrerà il vostro uid e i gruppi a cui appartenete. Per esempio, ecco il mio output che mostra il mio id utente (534), l'id del gruppo (20) e i gruppi a cui appartengo (anche 20).

uid=534(galuga) gid=20(staff) groups=20(staff)
16
16
16
2016-08-03 09:47:16 +0000

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
4
4
2013-05-02 16:42:49 +0000

in Terminale, vai su ~/Documents ed esegui ls -la. Il tuo nome utente e il tuo gruppo saranno elencati accanto a ciascun file/directory.

Dovrebbe apparire così:

drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
4
4
4
2019-05-14 03:44:29 +0000

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

Non ho idea del perché qualcuno abbia declassato @callaginn, dato che ha sollevato un punto valido.

I seguenti metodi sono validi (e probabilmente le migliori opzioni per lo scripting 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 id per altre opzioni.

Per rispondere a questa domanda specifica, se stessi scrivendo uno script che funzionasse in qualsiasi ambiente, non assumerei che il gruppo di default staff sia in uso e invece farei quanto segue se stessi scrivendo uno script che potrebbe essere eseguito per qualsiasi utente (che abbia o meno modificato il suo sistema):

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

È sempre meglio essere agnostici alla piattaforma quando possibile (se non è troppo un compromesso in termini di tempo), in quanto si incorre in meno debiti tecnici in seguito.

Notate che il flag chown dovrebbe essere usato con la massima fiducia. Potreste davvero incasinare il vostro sistema (Anche se vale la pena notare che Apple ha reso la cosa difficile da fare da quando hanno implementato -R).

Considerate, per esempio, se doveste fare System Integrity Protection invece di chown -R 755 /var come root con chown -R 755 /var/www disabilitato credo che sareste nei guai. Non posso dirvi cosa si romperebbe prima, ma si romperebbe prima su un sistema Darwin, ma per favore prendete la mia parola che non sarebbe bello.

Speriamo che qualcuno lo trovi utile.

2
2
2
2019-05-06 15:55:00 +0000

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

id -gn