Ar yra komanda, leidžianti išvardyti visus "Unix" grupių pavadinimus?

Žinau, kad yra /etc/group failas, kuriame išvardytos visos naudotojų grupės.

Norėčiau sužinoti, ar yra paprasta komanda, leidžianti išvardyti visų vartotojų grupių pavadinimus, nepaisant to, kad analizuojamas pasaulyje skaitomas /etc/group failas. Aš noriu sukurti administratoriaus tinklalapį, kuriame būtų išvardyti Linux paskyrų' grupių pavadinimai.

Sprendimas

Norėdami peržiūrėti visas vietines grupes, kurioms priskirti naudotojai, naudokite šią komandą:

cut -d: -f1 /etc/group | sort

Daugiau informacijos - > Unix grupės, Cut komanda, rūšiavimo komanda.

Komentarai (4)

Jei norite, kad sistema žinotų visas grupes, rekomenduočiau naudoti getent, o ne analizuoti /etc/group. Tinklo sistemose grupės gali būti ne tik skaitomos iš /etc/group failo, bet ir gaunamos per LDAP arba "geltonuosius puslapius", t. y. žinomų grupių sąrašas gaunamas iš vietinio grupių failo ir grupių, gautų per LDAP arba YP.

getent group pateiks visų grupių sąrašą tokiu pačiu formatu, koks naudojamas etc/group faile.

Jei norite gauti tik grupių pavadinimus, tai padarys getent group | cut -d: -f1 (kaip ir pirmiau).

Komentarai (3)

"Linux", "MacOS" ir "Unix" sistemose norėdami parodyti grupes, kurioms priklausote, naudokite:

id -Gn

kuris yra lygiavertis groups įrankiui, kuris "Unix" sistemoje yra atgyvenęs (kaip nurodyta Unix žinyne).

MacOS ir "Unix" sistemose įprastai interaktyviajai veiklai siūloma naudoti komandą id -p.

Parametrų paaiškinimas:

-G, --groups - spausdina visų grupių ID

-n, --pavadinimas - vietoj skaičiaus spausdinti pavadinimą, jei tai -ugG

-p - padaryti išvestį suprantamą žmogui.

Komentarai (5)