[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Mit dem Befehl '''adduser''' legt man neue Benutzer an. Mit adduser wird nicht nur der Benutzer an sich angelegt, sondern es werden auch die weiteren nötigen Einstellungen vorgenommen, wie z.B. ein [:Homeverzeichnis:] anlegen, den Nutzer einer Gruppe zuordnen, die Login-Shell festlegen usw. adduser ist zwar ein Kommandozeilenbefehl, das Anlegen des Nutzer erfolgt dabei aber interaktiv. Außerdem können mit dem Befehl '''addgroup''' oder mittels einer Option Gruppen eingerichtet werden. adduser ist typisch für alle Distributionen, die auf Debian basieren (wie auch Ubuntu). Andere Distributionen verwenden zum Anlegen von Benutzern den Befehl '''useradd'''. Dieser ist auch unter Ubuntu verfügbar, arbeitet aber nicht interaktiv und nimmt auch weniger Voreinstellungen automatisch vor. Bei falscher Verwendung von useradd kann man sich z.B. aus Gruppen aussperren und hat so nur noch einen beschränkten Zugang zum System. Aus Sicherheitsgründen sollte daher unter Ubuntu im Terminal grundsätzlich immer adduser verwendet werden! Ubuntu und seine Varianten bieten natürlich auch Hilfsprogramme mit grafischer Oberfläche zum Bearbeiten von Nutzern. Einen Überblick findet man auf der Seite [:Benutzer_und_Gruppen:]. Weitere Befehle findet man in der Übersicht zur [:Shell/Befehlsübersicht#Benutzerverwaltung:Benutzerverwaltung]. Das Homeverzeichnis des neu angelegten Benutzers mit seinen verborgenen Dateien und dem verborgenen Unterverzeichnis '''.config''' entsteht dabei sofort aus dem Muster bei '''/etc/skel'''. Die übrigen Benutzerverzeichnisse entstehen durch den Aufruf von '''adduser''' nach der Vorschrift in '''~/.config/user-dirs.dirs''' desjenigen Benutzers, der den neuen Benutzer anlegt (und dazu berechtigt sein muß). Die eigentlichen Benutzer-Verzeichnisse entstehen aber erst beim ersten Login des angelegten Benutzers! = Installation = adduser ist in jeder Ubuntu-Installation bereits enthalten und im Paket * '''adduser''' ebenso wie der Befehl `addgroup` integriert. = Verwendung = Die allgemeine Syntax von adduser und addgroup ist recht simpel: {{{#!vorlage Befehl sudo adduser BENUTZER [OPTIONEN] sudo addgroup [OPTIONEN] GRUPPE }}} Anschließend erfolgt ein kurzer, interaktiver Dialog, in dem man als erstes nach dem Passwort und anschließend nach dem vollen Benutzernamen gefragt wird. Die folgenden Fragen nach Raumnummer, Telefonnummer etc. sind eher für Firmen interessant (bzw. stammen noch aus der Zeit, als Linux immer ein reines Serversystem mit Remote-Login war) und können alle ohne Eingabe mit einem Druck auf [[Vorlage(Tasten, enter)]] beantwortet werden. Wie oben bereits erwähnt, wird mit jedem Benutzer automatisch eine Gruppe mit dem gleichlautenden Namen angelegt. Gibt man wie im obigen Beispiel keine Optionen an, so nutzt adduser die Voreinstellungen, welche in der Datei '''/etc/adduser.conf''' hinterlegt sind. Anschließend werden noch die Default-Konfigurationsdateien (z.B. für die [:Bash:]) aus dem Verzeichnis '''/etc/skel''' in das [:Homeverzeichnis:] des neuen Nutzers kopiert. Natürlich kennt adduser auch eine Reihe von Optionen. Einige davon sind: ||<-2 cellstyle="text-align: center;" rowclass="titel">'''Optionen von adduser'''|| ||'''Option'''||'''Beschreibung'''|| ||``--gecos ""``|| überspringt die Abfragen für optional vollen Namen, Telefonnummer usw. (Optionsparameter leer, nur Anführungszeichen)|| ||``--conf DATEI``|| verwendet anstatt '''/etc/adduser.conf''' die Datei DATEI als Konfigurationsdatei|| ||``--home /Pfad/zum/Verzeichnis``||Das Homeverzeichnis wird in "Pfad/zum/Verzeichnis" angelegt anstatt im Verzeichnis, welches in der Konfigurationsdatei hinterlegt ist. Existiert das Verzeichnis nicht, so wird es angelegt, die Dateien aus '''/etc/skel''' werden auch dorthin kopiert.|| ||``--no-create-home``||es wird kein Homeverzeichnis für den Nutzer angelegt|| ||``--ingroup GRUPPE``||Der Nutzer wird zur Gruppe GRUPPE anstatt zur in der Konfigurationsdatei voreingestellten Gruppe hinzugefügt.|| ||``--disabled-login``||Bei der Einrichtung des Nutzers wird nicht nach einem Passwort gefragt, und der Account als inaktiv gekennzeichnet. Der Nutzer kann sich nicht am System anmelden.|| ||``--disabled-password``||Bei der Einrichtung des Nutzers wird nicht nach dem Passwort gefragt. Der Nutzer kann sich nicht am System anmelden, bis ein Passwort mit Hilfe des Befehls [:Shell/passwd:passwd] gesetzt wird. Dies ist dann z.B. sinnvoll, wenn man als Systemadministrator das Passwort des Nutzers nicht kennen möchte.|| ||``--shell SHELL``||Es wird nicht die in der Konfigurationsdatei hinterlegte Shell als Login-Shell angelegt, sondern die in der Option angegebene. Dabei muss immer der volle Pfad mit angegeben werden also z.B. ``--shell /bin/zsh``. Gibt man ``--shell /bin/false`` an, so wird __keine__ Login-Shell anlegt, was auch bedingt, dass sich dieser Nutzer nicht per [:SSH:] mit dem Rechner verbinden kann.|| ||``--uid ID``||Gibt dem neuen Benutzer die gewünschte ID, falls diese nicht schon verwendet wird.|| adduser kennt noch einer Reihe weitere Optionen, welche man in der [:man:Manpage] nachlesen kann. == Beispiele == * Für das "einfache" Anlegen eines Benutzers benötigt man gar keine Optionen, d.h. will man beispielsweise den Benutzer `otto` anlegen, so reicht der Befehl: {{{#!vorlage Befehl sudo adduser otto }}} {{{#!vorlage Hinweis Legt man Benutzer mit adduser an, so werden diese zu keiner Gruppe des Systems hinzugefügt. Per adduser angelegte Benutzer dürfen also nicht direkt auf die im System vorhandenen Audio- und Videogeräte zugreifen usw. Daher sollte man nach dem Anlegen eines Benutzers sofort und unmittelbar mit dem Befehl `groups BENUTZER` überprüfen, zu welchen Gruppen dieser Benutzer noch [:Benutzer_und_Gruppen:hinzugefügt] gehören sollte. }}} * Fügt den Benutzer `xyz` zur bestehenden Gruppe `www-data` hinzu: {{{#!vorlage Befehl sudo adduser xyz www-data }}} 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. Um die neue Gruppenzugehörigkeit sofort zu aktivieren, verwendet man [:newgrp:]. * Richtet die Benutzergruppe `admin` ein: {{{#!vorlage Befehl sudo adduser --group admin }}} Alternativ kann auch der Befehl `sudo addgroup admin` genutzt werden. * Richtet eine neue Systemgruppe ein: {{{#!vorlage Befehl sudo addgroup --system share }}} Bei Nutzung der Option `--system` mit dem Befehl `adduser` wird ein neuer Systembenutzer eingerichtet. Wird zusätzlich noch `--group` übergeben, wird eine neue Gruppe mit dem Namen un der ID des Systembenutzers erstellt. * Richtet eine neue Benutzergruppe ein und erstellt daraufhin einen Benutzer, der automatisch der Gruppe angehört: {{{#!vorlage Befehl sudo addgroup --gid 113 usrs sudo adduser --gid 113 otto }}} = Links = * [man:adduser:Manpage von adduser und addgroup] {en} * [:deluser:] - Benutzer und Gruppen löschen * [:Shell/Befehlsübersicht#Benutzerverwaltung:Benutzerverwaltung] {Übersicht} Kommandozeilenwerkzeuge # tag: Shell