Informazioni sul gruppo di utenti "staff"

21

È noto che tutti gli utenti sono membri del gruppo "staff". Se imposti un utente standard e crei un file, un elenco di quel file nel terminale con "ls -la" mostra il gruppo di utenti come "personale".

Usando il comando dscacheutil, possiamo vedere le informazioni sui gruppi. Ad esempio: -

dscacheutil -q group -a name admin

Restituisce informazioni sul gruppo admin, inclusi tutti i membri.

Tuttavia, quando guardavo il gruppo "staff", mi aspettavo di vedere utenti standard come membri del gruppo, ma questo non è il caso: -

dscacheutil -q group -a name staff

name: staff
password: *
gid: 20
users: root

Quindi, se tutti gli utenti standard sono membri del gruppo staff, perché non appaiono qui?

Esiste un altro comando che può mostrare i membri reali del gruppo staff?

    
posta TheDarkKnight 14.05.2014 - 11:39
fonte

2 risposte

9

C'è solo un modo affidabile per ottenere tutti i membri di un gruppo in OS X e la risposta da 2DD8847 copre ciò. Per quanto riguarda il "perché", non posso offrire una spiegazione logica. Tutto quello che posso dire è ciò che differenzia i risultati.

Questi approcci non riescono a includere utenti che sono solo membri del gruppo tramite PrimaryGroupID. Un modo per pensarci è che questi utenti non elencati non sono stati aggiunti ufficialmente al gruppo del personale. Hanno appena ricevuto un PrimaryGroupID che corrisponde al gid dello staff. Pertanto non sono ufficialmente elencati con alcuni comandi. Lo so, è assurdo.

RISULTATI INCOMPLETI:

dscl . -read /Groups/[groupname]
dscl . -read /Groups/[groupname] GroupMembership
dscacheutil -q group -a name [groupname]

RISULTATI COMPLETI:

dscl . -list /Users PrimaryGroupID | grep [gid]

Tutto quello che posso veramente dire è che senza cercare i membri del gruppo dal loro PrimaryGroupID (invece di elencare membri di un gruppo) non ti darà risultati completi. Chalk fino alle stranezze di Unix. Ce ne sono molti.

Spero che ti aiuti!

Source

    
risposta data 15.05.2014 - 08:46
fonte
4

Che cosa vuoi esattamente raggiungere / fare?

Questo comando elenca tutti gli utenti del gruppo staff:

dscl . -list /Users PrimaryGroupID | grep ' 20$'

Source

Spiegazione: il gruppo di personale ha il PrimaryGroupID di 20.

    
risposta data 14.05.2014 - 17:33
fonte

Leggi altre domande sui tag