Come ottenere il gruppo principale di un utente?


15

Il seguente comando elencherà tutti i gruppi di someUser(il gruppo primario e i gruppi supplementari):

groups someUser

Ma c'è un modo per ottenere solo il gruppo primario?


Il gruppo primario non è elencato per primo?
simlev,

Risposte:


22

Prova a seguire i comandi

id -g

id -gn


Alcuni offtopic, ma per ottenere l'attuale nome utente utilizzare id -un.
userlond

10

Vedi il manuale di FreeBSD (informazioni valide anche per Linux):

ID gruppo (GID)

L'ID gruppo (GID) è un numero utilizzato per identificare in modo univoco il gruppo primario a cui appartiene l'utente. I gruppi sono un meccanismo per controllare l'accesso alle risorse in base al GID di un utente anziché al loro UID. Ciò può ridurre significativamente le dimensioni di alcuni file di configurazione e consente agli utenti di essere membri di più di un gruppo. Si consiglia di utilizzare un GID di 65535 o inferiore poiché GID più alti potrebbero rompere alcuni software.

In tal caso, la corsa id <username>mostrerà gid=<primary group>:

id <username>
uid=1000(<username>) gid=1000(<username>) groups=1000(<username>),4(adm),24(cdrom),27(sudo)

Se si desidera che il comando restituisca solo il nome del gruppo primario, vedere man id:

   -g, --group
          print only the effective group ID

   -G, --groups
          print all group IDs

   -n, --name
          print a name instead of a number, for -ugG

quindi, id -gn <username>dovrebbe darti quello che vuoi.


Questa dovrebbe essere la risposta accettata. Grazie :)
grrigore,
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.