====== Benutzer und Gruppen ======
Die Benutzer und Gruppen werden bei [[linux:Linux]] in Textdateien definiert.
Wird ganz gut bei [[http://www.linux-fuer-blinde.de/einfuehrung/benutzer-gruppenverwaltung.php|linux für Blinde]] erklärt.
===== Verwaltungsbefehle =====
^ Befehl ^ Beispielaufruf ^ Zweck des Programms ^
| chsh | chsh -s /bin/false user | ändert die Shell |
| chfn | |ändert Benutzerinformationen |
| groupadd / addgroup | |Anlegen einer neuen Gruppe |
| groupdel | |Löschen einer Gruppe |
| newgrp | |Wechseln der Gruppe |
| gpasswd | |Verwalten einer Gruppe |
| pwck | | verifiziert die Integrität der Passwortdateien |
| vipw / vigr | |editiert Benutzer-/Gruppeninformationen. Dateibeschädigungen werden durch setzten von locks verhindert. |
| useradd / adduser | |Anlegen eines neuen Benutzerkontos; Die Datei ''/etc/default/useradd'' enthält Standardvorgaben |
| userdel | |Löschen eines Benutzerkontos |
| usermod | |Editieren eines Benutzerkontos |
| passwd | |Benutzerpasswort festlegen |
===== wichtige Dateien ====
^ Datei ^ Inhalt / Zweck ^
| /etc/passwd | Informationen über Nutzerkonten |
| /etc/shadow | enthält Benutzerpasswörter und andere kritische Angaben |
| /etc/group | enthält Informationen über Benutzergruppen |
| /etc/gshadow | enthält Gruppenpasswörter und andere kritische Angaben |
| /etc/shells | Liste der gültigen Login-Shells |
| /etc/skel | Enthält die "Vorlage" für Homeverzeichnisse neuer Benutzer |
===== Passwörter zurücksetzen =====
in /etc/shadow stehen die Passwörter verschlüsselt drin (als [[:Hash-Funktion|Hash]])
Benutzername:Passwort: usw.
dann einfach die Zeichenfolge löschen oder durch einen anderen [[:Hash-Funktion|Hash]] ersetzen.
Aufbau des Passwortfeldes: ''$Funktion$SALT$Gehashtes-PAsswort''
**Zuerst** wird die [[:Hash-Funktion|Hash]]-Funktion benannt:
^ Anfang ^ steht für [[:Hash-Funktion|Hash]]-Funktion ... ^
| $1$ | md5 |
| $2a$ | Blowfish |
| $2y$ | Blowfish, with correct handling of 8 bit characters |
| $5$ | sha256 |
| $6$ | sha512 |
:!: Falls nicht $6$ / SHA-512 verwendet wird: Passwort aktualisieren lassen!
**Anschließend** der SALT (zufällig generierte Zeichenketten gegen [[security:Angriffsmethoden und Gegenmaßnahmen#Rainbow-Table-Attacken]]).
**Am Ende** das Gehashte Passwort.
===== Passwörter ändern =====
Wenn das aktuelle Passwort bekannt ist:
* passwd BENUTZER
===== Benutzer deaktivieren =====
- passwd -l BENUTZER
- SSH-Schlüssel des Benutzers ''authorized_keys'' im Home-Verz. löschen
- laufende Prozesse des Benutzers finden: ps auxww | grep -i ^BENUTZER
- Home-Verz. verschieben
===== Passwortablauf =====
chage -E oder --expiredate
"sudo -i", "sudo su" or "su -l" fragen nicht nach wenn Passwörter abgelaufen sind, bei Login via SSH (oder Konsole) wird gefragt.
Beispiele:
* Passwort am 31.12.2025 ablaufen lassen: chage --expiredate 2025-12-31 $user
* in 90 Tagen ablaufen lassen: chage --expiredate $(date -d +90days +%Y-%m-%d) $user
anzeigen lassen:
chage --list $user
Last password change : Jan 25, 2025
Password expires : Dec 31, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 0
Number of days of warning before password expires : 7
===== Benutzer zu Gruppe hinzufügen =====
addgroup USER GRUPPE