Wenn ich beispielsweise den Befehl ausführe adduser test
, wird die .bashrc-Datei dann automatisch bei der Erstellung des Home-Verzeichnisses für den Benutzer erstellt test
? Wenn sie nicht bei der Benutzererstellung erstellt wird, unter welchen Bedingungen wird sie dann erstellt?
Wenn ich dem Home-Verzeichnis eines Benutzers eine .bashrc-Datei hinzufüge, wird diese dann vom Betriebssystem überschrieben?
Dank im Voraus.
Antwort1
In den meisten Fällen werden die ersten Benutzerdateien (einschließlich .bashrc
) bei der Erstellung des Benutzers erstellt. Sie sind Kopien der Dateien, die im „Skelett“-Verzeichnis mit dem Namen gespeichert sind /etc/skel
. Es gibt zwei Hauptbefehle:
useradd
ist der Back-End-Befehl. Wenn Sie ihn direkt (ohne Optionen) verwenden, wird nur ein Systembenutzer (und seine Gruppe) erstellt:$ sudo useradd new-user $ ls -la /home/new-user/ ls: cannot access '/home/new-user/': No such file or directory
useradd
wird ein Home-Verzeichnis erstellen und es mit einer Kopie füllen,/etc/skel
wenn die-m
--create-home
Option angegeben ist. Vielen Dank fürdieser Kommentaran @jwodder.Die Option
-s
--shell
ändert den Namen der Login-Shell des neuen Benutzers. Unabhängig davon, wie die Login-Shell des neuen Benutzers lautet,/etc/skel
wird der gesamte Inhalt des Verzeichnisses „Skeletal“ in das Home-Verzeichnis des neuen Benutzers übertragen.-k
--create-home
Mit der Option kann ein anderes „Skelett“-Verzeichnis definiert werden .Die Konfigurationsdatei dieses Befehls ist
/etc/default/useradd
.
adduser
ist benutzerfreundliches und interaktives Frontend vonuseradd
Dieser Befehl kopiert die Dateien standardmäßig/etc/skel
in das Verzeichnis des Benutzers :$HOME
$ sudo adduser new-user Adding user `new-user' ... Adding new group `new-user' (1002) ... Adding new user `new-user' (1002) with group `new-user' ... Creating home directory `/home/new-user' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for new-user Enter the new value, or press ENTER for the default Full Name []: New User Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] $ ls -a /home/new-user/ . .. .bash_logout .bashrc .config examples.desktop .profile .Xdefaults
Die Konfigurationsdatei dieses Befehls ist
/etc/adduser.conf
.Der Standardwert für die Login-Shell des neuen Benutzers wird durch die Variable bestimmt
DSHELL=
. Er kann auch über die Option angegeben werden--shell
. Unabhängig von der Login-Shell des neuen Benutzers/etc/skel
wird der gesamte Inhalt des Verzeichnisses „skeletal“ in das Home-Verzeichnis des neuen Benutzers übertragen.Die
SKEL=
Variable in dieser Datei gibt das Standardverzeichnis an, das die „Skelett“-Benutzerdateien enthält.Die Option
--no-create-home
erzwingt,adduser
dass das Kommando kein Benutzer-Home-Verzeichnis erstellt bzw. der Inhalt des „Skelett“-Verzeichnisses nicht kopiert wird.Wenn es mit einem Argument ohne Option und der
--system
Option aufgerufen wird,adduser
wird ein Systembenutzer hinzugefügt. Ein Home-Verzeichnis wird nach denselben Regeln wie für normale Benutzer erstellt. Der neue Systembenutzer hat die Shell/bin/false
(sofern nicht mit der--shell
Option überschrieben) und die Anmeldung ist deaktiviert.Skelettkonfigurationsdateien werden nicht kopiert. ...von der Handbuchseite.
Wenn der Benutzer mit einem GUI-Tool erstellt wird, wieUser Accounts
, das Ergebnis ist identisch mit dem des Befehls adduser
.
Verweise: