Benutzerverwaltung (Linux)

Voraussetzungen

Zum Super-User wechseln mit

$ su -

Hinweis: Durch das "-" wird die Shell als Login-Shell gestartet. Damit werden z.B. auch die Environment-Pfade richtig gesetzt, die evtl. notwendig sind, damit adduser und usermod richtig funktionieren.

Allgemein

id                              # Eigenen Loginnamen anzeigen
id xxx                          # Informationen über User xxx anzeigen
last -10                        # Letzte 10 Logins auflisten
who                             # Aktuell eingeloggten User auflisten
w                               # Angemeldete Benutzer und laufende Sitzungen
whoami                          # Eigene User-ID ausgeben
less /etc/passwd                # Vorhandene Benutzer anzeigen
less /etc/group                 # Vorhandene Benutzergruppen anzeigen
cat /etc/group | grep user1     # Benutzergruppen von Benutzer user1 anzeigen

Passwörter

passwd                          # Passwort ändern
passwd -d user1                 # Passwort für user1 löschen

Benutzer anlegen und löschen

chfn                            # Userdaten bearbeiten
adduser user1                   # Benutzer user1 anlegen
adduser --system --group grp1   # Systembenutzer und Gruppe grp1 anlegen
adduser --home=/path/to/user --group grp1     # Benutzer und Gruppe grp1 anlegen mit home-Verzeichnis /path/to/user
deluser user1                   # Benutzer user 1 löschen

Benutzeranmeldung verhindern

nano /etc/passwd

In der Zeile des Benutzers am Ende /bin/bash durch /usr/sbin/nologin ersetzen

Benutzergruppen

adduser user1 grp1              # Benutzer user1 zur Gruppe grp1 hinzufügen
groupadd grp1                   # Benutzergruppe grp1 anlegen
groups user1                    # Benutzergruppen von user1 anzeigen
id user1                        # Benutzergruppen von user1 anzeigen
members group1                  # Alle Benutzer von group1 anzeigen --> Programmpaket members
usermod -G aaa,bbb uuu          # Benutzer uuu wird aus allen Gruppen entfernt und nur Gruppen aaa und bbb zugeordnet
usermod -a -G grp1 user1        # Benutzer user1 erhält zusätzlich die Gruppe grp1 (zu allen bestehenden Gruppen)
gpasswd -d user1 group1         # Sekundäre Benutzergruppe group1 von Benutzer user1 entfernen
deluser user1                   # User user1 entfernen
delgroup grp1                   # Gruppe grp1 entfernen

Besitzer und Rechte von Dateien ändern

Allgemeine Befehle

chmod 741 file                  # file die Rechte -rwxr----x zuordnen
chmod 2770 dir                  # Sticky Bit auf Verzeichnis setzen - Neue Dateien erhalten die gleichen Zugriffsrechte, wie das Verzeichnis dir
chmod -R +r dir                 # Allen Leserechte geben auf Verzeichnis, Dateien und Unterverzeichnisse
chmod -R u+w dir                # User Schreibrechte geben auf Verzeichnis, Dateien und Unterverzeichnisse
chmod -R g+w dir                # Gruppe Schreibrechte geben auf Verzeichnis, Dateien und Unterverzeichnisse
chown user:group file           # file dem Besitzer user und der Gruppe group zuordnen
chgrp group file                # Gruppen von file ändern auf group

Nur Attribute von Dateien oder Ordnern ändern

find . -type f -exec chmod 644 {} \;              # Nur Attribute von Dateien ändern
find . -type d -exec chmod 644 {} \;              # Nur Attribute von Ordnern ändern
find . -type f -print0 | xargs -0 chmod 644       # Nur Attribute von Dateien ändern und dabei verhindern, dass es Probleme mit Sonderzeichen in Dateinamen gibt
find . -print0 | xargs -0 chown user:group        # <<-- Dies ist ungetestet, funzt das überhaupt?