Unter Centos 6.5 (und wahrscheinlich jedem anderen) Linux kann ich eine Gruppe erstellen:
sudo groupadd mygroup
und fügen Sie mehrere Benutzer hinzu:
sudo usermod -a -G mygroup userA
sudo usermod -a -G mygroup userB
sudo usermod -a -G mygroup userC
Die Anzahl der Benutzer in meinem speziellen Fall ist 20
. Wie kann ich einen Einzeiler verwenden wie:
sudo usermod -a -G mygroup userA userB userC
Sogar die Verwendung von for loop wäre in Ordnung, aber ich bin kein Bash-Spezialist, also wundere ich mich.
usermod -aG mygroup
.quelle
Dies ist ein rudimentäres Skript mit Positionsparametern. Speichern Sie den folgenden Code in einer aufgerufenen Datei
fill_group.sh
und machen Sie ihn ausführbar mitchmod +x fill_group.sh
.Fügen Sie es dann einem PATH-Verzeichnis (
/usr/local/bin
) hinzu oder führen Sie es in demselben Verzeichnis aus , in dem es sich befindet./fill_group.sh <group_name> <user1> ... <userN>
.quelle
if ! getent group "$group" >/dev/null
getent
Befehl bis jetzt verpasst (in meinem System gibt es auch eine nette Autocomplete-Funktion für alle untersuchten Datenbanken ).fill_group.sh <group> <user1> ... <userN>
. Wenn Sie wirklich einen Oneliner wollen:for user in "userA userB userC"; do sudo usermod -a -G "groupName" "${user}"; done
oder wenn Sie eine Benutzerliste pro Zeile in einer Datei haben, die heißtusers.list
:group=mygroup && while read user; do sudo usermod -a -G "${group}" "${user}"; done < users.list
Unter Fedora, Red Hat, CentOS und anderen nachgeschalteten Distributionen
newusers
können Sie mit dem Dienstprogramm ganz einfach eine Reihe neuer Benutzer zu einem System hinzufügen, ohne ein Bash-Skript schreiben zu müssen.Kann auch auf Debian und Ubuntu verfügbar sein.
quelle
In Bezug auf die Antworten von Tombart und Masterfool. Bei alten Distos (SLES 11 SP1) unterscheiden sich die Schattenwerkzeuge geringfügig. Die Handbücher enthalten keine Versionsnummer, sind jedoch mit 2009-2010 datiert.
Die Option -M in gpasswd existiert nicht (benötigt aber gpasswd für etwas anderes). Sie müssen sich also für die Loop-Option von Masterfool entscheiden. Aber hier existiert -a nicht, stattdessen verhält sich -A wie -a & -G.
Ich mache dies, um den Zugriff auf viele Systeme zu rollen, und mein vollständiges "Gruppe erstellen und füllen" sieht bisher so aus:
Erstellen Sie also eine Gruppe mit festgelegter GID, entfernen Sie das Kennwort / aktivieren Sie die neue Gruppe und fügen Sie einige Benutzer hinzu.
quelle