Benutzerverwaltung

verschiedene Routinen benötigen Rootrechte. So kann in einem Script abgefragt werden, ob der ausführende Benutzer root ist:

testroot.sh
#!/bin/bash
if [ !  $UID -eq 0 ];then
echo "Falscher Benutzer!"
echo "Starten Sie dieses Script bitte als root"
echo "versuchen Sie es dann erneut."
exit 1;
fi

Ich möchte einen Benutzer erstellen, der sich ohne Passwort am Rechner anmelden kann:

useradd -m meinuser

editiere die /etc/passwd:

meinuser:x:UID:GID::/home/meinuser:/bin/sh
#meinuser::UID:GID::/home/meinuser:/bin/sh #(in debian)

dann editiere die /etc/shadow:

meinuser::UID:0:99999:7:::

anschließend kannst Du dich mit diesem Benutzer ohne Passwort anmelden.

Ich möchte automatisch an meinem Suse mit einem bestimmten Benutzer angemeldet werden:

  • erstelle eine Benutzer (z.B. doedel) über yast2 oder useradd
  • editiere die Datei /etc/inittab mit rootrechten:

Der Defaultrunlevel muss auf 3 (Konsole) zurückgesetzt werden.
Die Zeile

  id:5:inittabdefault:

muss in

  id:3:inittabdefault:

geändert werden.

die Zeile

  1:2345:respawn:/sbin/mingetty --noclear tty1

muss in

  1:2345:respawn:/sbin/mingetty --autologin doedel --noclear tty1

geändert werden.
Nach einem Neustart wird der Benutzer doedel jetzt automatisch an der Konsole 1 angemeldet.
Wenn die grafische Oberfläche auch noch automatisch starten soll, so muss in die Datei .bashrc im Homeverzeichnis von doedel in der letzten Zeile ein startx eingefügt werden.

Ich möchte automatisch an meinem Debian mit einem bestimmten Benutzer angemeldet werden:

  • installiere das Programm rungetty nach.
  • erstelle eine Benutzer (z.B. doedel) über useradd
  • editiere die Datei /etc/inittab mit rootrechten:

Der Defaultrunlevel muss auf 3 (Konsole) zurückgesetzt werden.
die Zeile

1:2345:respawn:/sbin/getty 38400 tty1 

muss in

1:2345:respawn:/sbin/rungetty tty1 -u root -- login -f doedel

geändert werden.
Alternative für neuere Systemd-Systeme:

#Datei:/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
Type=simple
ExecStart=
ExecStart=-/sbin/agetty --autologin username --noclear %I 38400 linux


SUDO-Rechte für eine Benutzergruppe konfigurieren:
Vorsicht! Rechteerweiterung!
Das Programm „sudo“ muss installiert sein.
Die gewünschten Benutzer müssen in die Gruppe „wheel“ eingefügt werden.
Die Datei /etc/sudoers muss wie folgt editiert (entkommentiert) werden:

%wheel ALL=(ALL) NOPASSWD: ALL

Danach können Mitglieder der Gruppe „wheel“ root-Befehle beispielsweise wie folgt ausführen:

sudo ifconfig

Sie werden dadurch nach keinem Rootpasswort mehr gefragt.

SUDO-Rechte für einen Benutzer (z.B. doedel) konfigurieren:
Vorsicht! Rechteerweiterung!
Das Programm „sudo“ muss installiert sein.
Die Datei /etc/sudoers muss wie folgt editiert werden:

doedel ALL=(root)NOPASSWD:/sbin/ifconfig, /sbin/shutdown

jetzt kann der Benutzer doedel sofort die Befehle ifconfig und shutdown als root ausführen:

sudo ifconfig


Benutzern definierte Konfigurationen mitgeben
1.Möglichkeit: /etc/skel entsprechend konfigurieren
2.Möglichkeit: siehe PAM
3.Möglichkeit: in SUSE /etc/profile.local konfigurieren

einen Benutzer anlegen:

useradd doedel

einen Benutzer mit yast anlegen:

yast2 users add username=doedel password=geheim

einen Benutzer doedel anlegen, in die Gruppe puppetgrp einfügen und als Passwort „meinPass“ vergeben

useradd -m doedel -p puppetgrp -p `openssl passwd meinPass`

einen Benutzer zwingen, sein Passwort bei der nächsten Anmeldung zu ändern:

chage -d 0 doedel

Ablaufdatum eines Benutzers ändern

chage -E 2024-12-31 doedel

einen Benutzer sperren:

usermod -L myUser

einen Benutzer wieder entsperren:

usermod -U myUser

Status eines Benutzers anzeigen:

passwd -S myUser

Stati aller Benutzer anzeigen:

passwd -aS

einen Benutzer in zwei Gruppen einfügen

usermod -aG mysql,tomcat6 myUser

mehrere Benutzer in mehrere Gruppen einfügen

for u in {john,paul,george,ringo}; do usermod -aG projekt1,projekt2,wheel $u; done

einen Benutzer sauber! zum root machen

usermod -g 0 -o myUser
usermod -u 0 -o myUser

einen Benutzer wieder aus einer Gruppe entfernen

deluser myUser mysql

einen Benutzer wieder aus allen zusätzlichen Gruppen entfernen

usermod -G "" myUser

die primäre Gruppe eines Benutzers in svn ändern

usermod -g svn myUser

Benutzer-Shell ändern/ Bsp.weise Benutzer sperren

chsh doedel
Login Shell [/bin/bash]: /bin/false
# oder
chsh doedel -s /bin/false

Benutzer-Informationen ändern:

chfn doedel
Full Name [testuser]:
Room Number [im Keller]:
Work Phone [1234]:
Home Phone [0123-45678]
Other [cooler Typ]

einen Benutzer komplett mit home löschen

userdel -r myUser

Standardeinstellungen für die Benutzererstellung ändern:

editiere die Datei /etc/default/useradd und/oder /etc/adduser.conf (wenn vorhanden).

#alle neu erstellten Benutzer müssen beim ersten mal Ihr Passwort ändern.
Expire=0

oder ändere bsp. das Ablaufdatum aller zukünftig erstellten Benutzer auf den 31.4.2013:

useradd -D -e 04/31/2013


eine Gruppe umbenennen:

groupmod -n alterName neuerName

schnell mal die primäre Gruppe wechseln, damit z.B. bei einer Installation gleich eine bestimmte Gruppe Rechte an den entstehenden Verzeichnissen und Dateien hat:

touch datei1
newgrp mysql
touch datei2
ls -l
exit

Massenerstellung von Homeverzeichnissen in Windowsaktivierten Rechnern

for i in $(wbinfo -u); do mkdir $i && chown $i $i; done


zurück