[[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/users.png, 64, left)]] Linux kennt als Mehrbenutzer-Betriebssystem – wie alle unixoiden Betriebssysteme – das Konzept verschiedener Benutzer. Diese haben nicht alle unbedingt dieselben Rechte und Privilegien. Neben den eigentlichen Benutzerkonten für reale Personen existieren auf dem System noch viele Systemdienste mit einem eigenen Benutzerkonto. Dadurch wird erreicht, dass eine mögliche Schwachstelle in einem Dienst nicht zu große Auswirkungen auf das System haben kann. Im Gegensatz zu vielen anderen Linux-Distributionen wird unter Ubuntu dem Systemverwalterkonto ''"root"'' kein Passwort zugewiesen, d.h. es gibt kein "klassisches" Administrator-Konto. Dies ist Absicht. Die Hintergründe und die Funktionen, um Aktionen mit Root-Rechten ausführen zu können, sind im Artikel [:sudo:] näher erläutert. = Benutzer = Die Benutzernamen unter Linux sind eigentlich aussagekräftig genug, um hier keine großen Erklärungen abgeben zu müssen. Die meisten Systemdienste bringen auch ihren eigenen Benutzer mit. || Benutzername || Funktion || || `root` || Der Systemverwalter unter Linux || || `nobody` || Wird von Prozessen als Benutzerkennung verwendet, wenn nur ein Minimum an Rechten vergeben werden soll || || `cupsys` || Benutzer des Druckdienstes [:CUPS:] || || `www-data` || Benutzer des Webservers [:Apache:] || Diese Liste ließe sich noch deutlich erweitern, doch die meisten System-Benutzer sollten sich allein aus der Namensgebung heraus erklären. == Sonderfall: Benutzer root == Standardmäßig existiert unter Linux immer ein Konto für den Benutzer root mit der User-ID 0. Dies ist ein Systemkonto mit vollem Zugriff auf das gesamte System und damit auch auf alle Dateien und Einstellungen aller Benutzer. Bei Ubuntu wird dem Benutzer root allerdings kein Passwort zugewiesen. Dadurch kann sich niemand unter dem Namen "root" anmelden. Der erste anlegte Benutzer ist unter Ubuntu bzw. dessen Derivaten immer automatisch Mitglied der Gruppe `sudo` und kann so [:mit Root-Rechten arbeiten:]. Wie bei Bedarf weitere Nutzer dieser Gruppe hinzugefügt werden können ist weiter unten im Artikel erklärt. = Gruppen = Jeder Benutzer ist einer Hauptgruppe zugeordnet, kann daneben aber auch Mitglied weiterer Gruppen sein. Der Zugriff auf gewisse Hardware oder Dienste ist auf die Mitglieder einer bestimmten Gruppe beschränkt. So dürfen z.B. nur Benutzer, die zur Gruppe ''"audio"'' gehören, Klänge über die Soundkarte ausgeben. Möchte man nun einem Benutzer die Berechtigung für die Soundkarte geben, so erreicht man dies, indem man ihn in die Gruppe ''"audio"'' aufnimmt. Die Hauptgruppe eines Benutzers spielt im Zusammenhang mit den Zugriffsberechtigungen auf Dateien und Verzeichnisse eine Rolle. Jede Datei ist immer Eigentum genau eines Benutzers. Daneben ist den Dateien aber auch eine Gruppe zugeordnet. Wenn ein Benutzer eine Datei erzeugt, dann wird seine Hauptgruppe als Gruppe bei der erzeugten Datei eingetragen. Hier folgt nun eine Liste der Gruppen, die üblicherweise Benutzern zugewiesen werden. Nicht alle dieser Gruppenzugehörigkeiten lassen sich über die einfachen GUIs der Desktop-Umgebungen setzen. {{{#!vorlage Tabelle '''Gruppe''' '''Funktion''' '''20.04''' '''22.04''' +++ `sudo` Administrator-Aufgaben mittels [:sudo:] ausführen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `adm` Nur Benutzer, die in dieser Gruppe sind, dürfen [:Logdateien:] ansehen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `audio` Audio-Geräte verwenden <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `cdrom` CD-ROM Laufwerke benutzen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `dialout` Serielle Geräte benutzen (z.B.: Modems, Palm Pilots) <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `dip` Werkzeuge verwenden, die eine Verbindung durch Einwahl herstellen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `fuse` Auf Geräte des [:FUSE:] zugreifen <:>[[Bild(Wiki/Icons/Tango/dialog-cancel.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-cancel.png, 32)]] +++ `lpadmin` Drucker einrichten und über [:CUPS:] konfigurieren. <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `plugdev` Zugriff auf externe Speichergeräte automatisch ermöglichen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `sambashare` Mit [:Samba:] Usershares einrichten <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] +++ `video` Video-Beschleunigung oder TV-Karten benutzen <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] <:>[[Bild(Wiki/Icons/Tango/dialog-ok.png, 32)]] }}} {{{#!vorlage Hinweis Durch die ständige Weiterentwicklung von Ubuntu kann es vorkommen, dass bestimmte Gruppenzugehörigkeiten nicht mehr benötigt werden, die Funktion aber trotzdem zur Verfügung steht. }}} = Werkzeuge zur Verwaltung von Benutzern und Gruppen = Benutzer und Gruppen können sowohl aus den Desktop-Umgebungen heraus als auch mittels Konsole bearbeitet werden. Im Folgenden werden die Grundfunktionen beschrieben. == Namenskonventionen == Die Namen von Benutzern und Gruppen unterliegen gewissen Einschränkungen: 1. Sie müssen mit einem Kleinbuchstaben beginnen. 1. Danach können weitere Kleinbuchstaben, Ziffern (0-9), - (Minuszeichen) oder _ (Unterstrich) folgen. Zur Kompatibilität mit Konten auf Samba-Rechnern wird außerdem $ am Ende des Benutzernamens unterstützt. 1. Sie dürfen nur einmal auf dem System vergeben sein. Diese Regeln sind in der Datei '''/etc/adduser.conf''' festgelegt. == Passwörter == Jedem Benutzer muss ein Passwort zugewiesen werden. Bei der Passwortvergabe sollte darauf geachtet werden, keine deutschen Sonderzeichen (ä,ö,ü,ß) zu verwenden. Sollte das Keyboardlayout einmal partout auf Englisch stehen, kann man sich sonst nicht mehr anmelden. == Grafisch == Die grafischen Oberflächen zur Benutzer- und Gruppenverwaltung sind in eigenen Artikeln beschrieben: * Ubuntu (Unity / Gnome): [:Benutzer_und_Gruppen_Ubuntu:] * Kubuntu (KDE): [:Benutzer_und_Gruppen_Kubuntu:] * Xubuntu (Xfce) sowie Ubuntu Unity: [:Benutzer_und_Gruppen_Xubuntu:] * Lubuntu (LXDE): [:Benutzer_und_Gruppen_Lubuntu:] * Ubuntu MATE: [:Benutzer und Gruppen Ubuntu MATE:] == Terminal == Selbstverständlich lassen sich auch alle Aktionen zur Benutzerverwaltung über ein Terminal ausführen. Hier soll keine vollständige Ausführung zu diesen Kommandos erfolgen, sondern nur eine kurze Einleitung gegeben werden, um eine Basis zu vermitteln. Mehr zu den einzelnen angeführten Befehlen findet sich in der [:Shell/Befehlsübersicht:Befehlsübersicht]. === Informationen über den aktuellen Benutzer === {{{#!vorlage Befehl id }}} === Anzeigen der Benutzer in einzelnen Gruppen === {{{#!vorlage Befehl less /etc/group }}} === Benutzer hinzufügen === {{{#!vorlage Befehl sudo adduser BENUTZERNAME }}} Weitere Details in [:adduser:]. === Benutzer löschen === * Nur Benutzer löschen: {{{#!vorlage Befehl sudo deluser BENUTZERNAME }}} * Benutzer inkl. der Daten aus dem Homeverzeichnis löschen: {{{#!vorlage Befehl sudo deluser --remove-home BENUTZERNAME }}} Weitere Details in [:deluser:]. === Neuen Benutzer hinzufügen und seine primäre Gruppe bestimmen === {{{#!vorlage Befehl sudo adduser BENUTZERNAME --ingroup GRUPPENNAME }}} === Bestehenden Benutzer einer weiteren Gruppe hinzufügen === {{{#!vorlage Befehl sudo usermod -aG GRUPPENNAME BENUTZERNAME }}} === Standardgruppe eines Benutzers ändern === {{{#!vorlage Befehl sudo usermod -g GRUPPENNAME BENUTZERNAME }}} === Benutzer aus einer Gruppe entfernen === {{{#!vorlage Befehl sudo deluser BENUTZERNAME GRUPPENNAME }}} ## ## Folgender Befehl sieht mir eher nach usermod -g (also mit kleinem g) aus. Bitte überprüfen. ## ## === Hauptgruppe eines Benutzer ändern === ## Manchmal ist es nötig, dass ein Benutzer seine Dateien automatisch für eine andere Gruppe als seiner ursprünglichen Hauptgruppe zugänglich macht. Zum Beispiel möchte man einen FTP-Benutzer haben, der direkt in eine chroot-Umgebung des Apache-Servers Dateien hochladen kann. Sinnvoll ist es nun, dass die Dateien gleich mit der Gruppe 'www-data' erstellt werden. ## {{{#!vorlage Befehl ## sudo usermod -G GRUPPENNAME BENUTZERNAME ## }}} === Eine neue Gruppe erstellen === {{{#!vorlage Befehl sudo addgroup GRUPPENNAME }}} === Benutzernamen ändern === Der Benutzername lässt sich leicht mittels {{{#!vorlage Befehl usermod -l NEUERNAME ALTERNAME }}} ändern. Dies ist allerdings nur möglich, wenn der zu ändernde Benutzername gerade nicht aktiv (d.h. nicht am System angemeldet) ist. {{{#!vorlage Hinweis Dies funktioniert nicht bei einem verschlüsselten Benutzerverzeichnis, siehe [:ecryptfs/verschlüsseltes_Benutzerverzeichnis_umbenennen:]}}} Damit auch das [:Benutzerverzeichnis:] entsprechend zum neuen Namen `NEUERNAME` geändert wird, muss jetzt noch ein weiterer Befehl folgen: {{{#!vorlage Befehl usermod -d /home/NEUERNAME -m NEUERNAME }}} === Vollständigen Benutzernamen ändern === Wenn man nur den vollständigen Benutzernamen (Vor-/Nachname) ändern möchte, nicht aber den Anmelde-Benutzernamen, kann man dies mit {{{#!vorlage Befehl sudo chfn -f NEUER_VOLLSTÄNDIGER_NAME BENUTZERNAME }}} erreichen. Siehe auch [:chfn:]. === Passwort ändern === * Eigenes Passwort ändern: {{{#!vorlage Befehl passwd }}} * Passwort eines anderen Benutzers ändern: {{{#!vorlage Befehl sudo passwd BENUTZERNAME }}} Weitere Informationen erhält man im Artikel [:passwd:]. == Voreinstellung ändern == Wenn man die Voreinstellung ändern möchte, so dass die Dateien künftig neu angelegter Benutzer nicht von Anderen lesbar sind, so geht das im Terminal [1] mit dem Befehl {{{#!vorlage Befehl sudo dpkg-reconfigure adduser }}} Die Frage ''"Wünschen Sie systemweit lesbare Home-Verzeichnisse"'' sollte man hier dann auf ''"Nein"'' setzen. ##aasche: Timekpr funktioniert nicht mehr ##= Zeitbegrenzungen für Benutzer = ##Mithilfe des Programms [:Timekpr:] lassen sich zeitliche Beschränkungen für Benutzer anlegen. Außerhalb der angegebenen Zeitpunkte oder nach einer bestimmten Zeitdauer der Aktivität wird der Benutzer automatisch abgemeldet bzw. ihm ein erneutes Anmelden verwehrt. = Problembehebung = == Neue Gruppenzugehörigkeit sofort aktivieren == Wenn man einen Benutzer einer weiteren Gruppe zuordnet, muss sich dieser Benutzer prinzipiell erst ab- und wieder neu anmelden, bevor die neue Gruppenzugehörigkeit aktiv wird. Mit dem Befehl [:newgrp:] kann man das umgehen. == Nummerierung der UID/GID == In seltenen Fällen kann es nützlich sein festzulegen, wie Benutzerkonten (UID) und Gruppen (GID) nummeriert werden. Normalerweise beginnt Ubuntu hier bei `1000`. Der Startwert kann in der Datei '''/etc/login.defs''' festgelegt werden. Beispiele: {{{ UID_MIN 500 GID_MIN 500 }}} == USB-Gerät ist nicht als /dev/ttyUSB... verfügbar == Das kann dadurch verursacht sein, dass der aktuelle Benutzer nicht in der Gruppe `tty` eingetragen ist. Kontrollieren lässt sich das für den aktuellen Benutzer mit dem Befehl: {{{#!vorlage Befehl groups }}} Wie der aktuelle Benutzer zur Gruppe `tty` hinzugefügt werden kann, ist oben beschrieben. Eine Möglichkeit, den Benutzer `xyz` zur Gruppe hinzuzufügen, ist: {{{#!vorlage Befehl sudo addgroup xyz tty }}} = Links = == Intern == * [:Shell/Befehlsübersicht#Benutzerverwaltung:Benutzerverwaltung] {Übersicht} Kommandozeilenwerkzeuge * [:Rechte:] - Verwaltung der Besitz- und Zugriffsrechte für Ordner und Dateien in Linux * [:chown:] - Eigentümer und/oder Gruppe von Dateien und Ordnern ändern * [:chgrp:] - Gruppenzugehörigkeit von Dateien und Ordnern ändern * [:chmod:] - Zugriffsrechte von Dateien ändern == Extern == * [https://www.selflinux.de/selflinux/html/nutzer_unter_linux.html Benutzer- und Berechtigungskonzepte unter Linux] {de} - Ausführliche Erklärungen zu Benutzer/Gruppen unter Linux bei selflinux.de # tag: Einsteiger, GNOME, KDE, System, Sicherheit, Xfce, LXDE, Unity