Anzahl der einem Benutzer zugewiesenen Gruppen ermitteln

Anzahl der einem Benutzer zugewiesenen Gruppen ermitteln

Gibt es eine Möglichkeit, die Anzahl der einem Benutzer in Linux zugewiesenen Gruppen herauszufinden?

 as of right now i have:
 foo : foo bar apple users

Eine App, die ich verwende, hat einem Benutzer möglicherweise eine Gruppe von "Apple-Benutzern" zugewiesen, aber ich kann es nicht sagen, und wann ich ausgeführt habe

 groups foo | awk {print $6}

ich erhielt

 users

Ich weiß nicht, wie ich herausfinden kann, wie viele Benutzer ich habe

Antwort1

Da groupseine Liste der Gruppen zurückgegeben wird, denen Ihr Konto angehört, können Sie Folgendes verwenden:

groups | wc -w

Es wc -wwird die Anzahl der von zurückgegebenen Wörter gezählt groups.

Antwort2

Der Befehl „groups“ berücksichtigt in seiner Ausgabe keine Gruppen mit Leerzeichen. Eine Gruppe mit einem Leerzeichen im Namen wird also genauso ausgegeben wie zwei separate Gruppen.

Ich würde es so machen:

 grep "apple users" /etc/group

Das Ergebnis sollte ungefähr so ​​aussehen:

 apple users:x:1010:fred,barney,dino

Antwort3

Methode 1:

foo: foo Bar Apple-Benutzer (Benutzername -> foo)

ausführen => lid foo | wc -l

Ausgabe: 4

Methode 2:

ausführen => Gruppenbenutzername

Ausgabe: Benutzername: Benutzername Gruppe1 Gruppe2

=> Gruppenbenutzername | wc -w | xargs -I % expr % - 2

Ausgabe: 3 (Anzahl der Gruppen, zu denen ein Benutzer gehört)

foo: Foo Bar Apple-Benutzer

ausführen => Gruppen foo | wc -w | xargs -I % expr % - 2

Ausgabe: 4

Zählen Sie die Anzahl der Wörter, die die Gruppen zurückgeben, und ziehen Sie 2 ab, da wir in der erhaltenen Anzahl zu viele „Benutzernamen“ und „:“ haben. Schließlich erhalten wir die Gesamtzahl der Gruppen, zu denen ein Benutzer gehört!

verwandte Informationen