Beiträge von Sojan im Thema „40 User auf Linux und SAMBA mit Skript umbenennen, einzeln zu aufwändig“
-
-
Es scheitert aktuell noch daran, das Passwort für den neu angelegten SAMBA-User per Skript zu ändern.
Habe etwas im Netz gefunden
oder ähnlich
Quelle: https://unix.stackexchange.com/questions/3687…-for-samba-user
-
Danke Danke Danke
Ich habe noch ein kleines Problem mit der Syntax - mit echo klappt das Ganze und die Usernamen werden ohne Bindestrich ausgegeben, aber wenn ich das ganze umbaue und in einer Variable $newname speichern will, kommt der Fehler "./userrename.sh: line 13: =: command not found".
Bash
Alles anzeigen#!/bin/bash # Alle Nutzer mit Homeverzeichnis ausgeben grep /home /etc/passwd | cut -d: -f1 | # Stück für Stück abarbeiten while read -r line; do # User umbenennen # usermod -l NEUERNAME $line; # Zeichen (Bindestrich) durch -nichts- ersetzen echo $line | sed 's/-//g' done
Fehler "./userrename.sh: line 13: =: command not found" hier:
Bash
Alles anzeigen#!/bin/bash # Alle Nutzer mit Homeverzeichnis ausgeben grep /home /etc/passwd | cut -d: -f1 | # Stück für Stück abarbeiten while read -r line; do # User umbenennen # usermod -l NEUERNAME $line; # Zeichen (Bindestrich) durch -nichts- ersetzen $newname = $line | sed 's/-//g' done
EDIT: Hab's! Hier die Lösung erstmal.
Bash
Alles anzeigen#!/bin/bash # Alle Nutzer mit Homeverzeichnis ausgeben grep /home /etc/passwd | cut -d: -f1 | # Stück für Stück abarbeiten while read -r line; do # User umbenennen # usermod -l NEUERNAME $line; # Zeichen (Bindestrich) durch -nichts- ersetzen echo "1: original:" $line newname=$(sed 's/-//g' <<< $line) echo "2: newname :" "$newname" echo " " done
Super, fast am Ziel.
Hinweis: Du kannst deinen eigenen User aber nicht abändern, solange du selber angemeldet bist. Da müsstest du auf root wechseln und das Script ausführen.
-
-
Die Option -l lässt wohl das Homeverzeichnis unangetastet, müsste dann noch manuell verschoben werden.
Codeman usermod -l, --login NEW_LOGIN The name of the user will be changed from LOGIN to NEW_LOGIN. Nothing else is changed. In particular, the user's home directory or mail spool should probably be renamed manually to reflect the new login name. -m, --move-home Move the content of the user's home directory to the new location. If the current home directory does not exist the new home directory will not be created.This option is only valid in combination with the -d (or --home) option.usermod will try to adapt the ownership of the files and to copy the modes, ACL and extended attributes, but manual changes might be needed afterwards.
-
-
-