Zum Inhalt springen

Skript -- Problem bei der Ausgabe


geist_der_foren

Empfohlene Beiträge

Hi @all,

ich hab folgendes kleine Skript:

GROUP_PFAD=/etc/group

i=700


for USER in `awk -F: '{print $1}' /etc/passwd`

 do

   GROUP=`grep $USER $GROUP_PFAD | awk -F: '$3>=100 {print $1}'`

   echo "groupadd -g $i $GROUP"

   i=`expr $i + 1`

 done

Wie man sehen kann, holt sich das Skript die user aus der /etc/passwd und gibt mir dann die grouppen aus, in denen sich einer mindest einer dieser user befindet. Dann generiert er mir ein groupadd befehl. Jetzt habe ich 2 Probleme. 1. Er gibt mir ein paar Gruppen aus, in denen keine User sind (siehe unten) 2. Es kommt folgende ausgabe:
groupadd -g 700

groupadd -g 701

groupadd -g 702

groupadd -g 703

groupadd -g 704

groupadd -g 705

groupadd -g 706

groupadd -g 707

groupadd -g 708

groupadd -g 709

groupadd -g 710

groupadd -g 711

groupadd -g 712

groupadd -g 713 nobody ---> Hier sind keine USER drin 

nogroup ------------------------> Warum bring er das auch raus ?

groupadd -g 714

groupadd -g 715

groupadd -g 716

groupadd -g 717

groupadd -g 718

groupadd -g 719 radiusd  ---> Hier sind keine USER drin 

groupadd -g 720

groupadd -g 721 privoxy  ---> Hier sind keine USER drin 

groupadd -g 722

groupadd -g 723

groupadd -g 724 grouptest

An sich sollte er mir nur folgendes ausgeben:
groupadd -g 700 grouptest

Den grouptest ist die einzigste gruppe die einen User auf der passwd hat und deren gID größer 100 ist.

Kann mir jemand weiter helfen ? Blick das nicht so ganz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke ... du hast mich auf die Idee gebracht hier ist der code, falls es mal jemand braucht:

#!/bin/bash


GROUP_PFAD=/etc/group

i=700


for USER in `awk -F: '{print $1}' /etc/passwd`

 do

   for USERB in `grep :$USER $GROUP_PFAD`

    do

     GROUP=`echo $USERB | awk -F: '$3>=100 {print $1}'`

     GROUP_USER=`echo $USERB | awk -F: '$3>=100 {print $4}' | sed 's/,/ /g'`

     if [[ $GROUP && $GROUP_USER ]]

     then

      echo "groupadd -g $i $GROUP"

      echo "gpasswd -a $GROUP_USER"

      i=`expr $i + 1`

     fi

    done

 done

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...