%20verwendet%20werden%2C%20%C3%BCber%20ein%20Home-Konto%20verf%C3%BCgen%3F.png)
Ich habe mit den folgenden Befehlen ein Systemkonto auf Fedora erstellt
useradd -r -s /bin/false sysacct
Dann wurde ein Verzeichnis erstellt und sysacct die Berechtigungen erteilt
mkdir /var/sysacct
chown sysacct:sysacct /var/sysacct
Wenn ich nun versuche, den Befehl als sysacct auszuführen
su - sysacct -c 'mkdir /var/sysacct/test'
I get error
Verzeichnis kann nicht zu /home/sysacct geändert werden: Keine solche Datei oder kein solches Verzeichnis
Why do I need to specify a home directory for this account?
Antwort1
müssen die Dienst-/Systemkonten, die zum Ausführen von Daemons (Webserver, Datenbanken) verwendet werden, über ein Home-Konto verfügen?
Im Allgemeinen ist es nicht erforderlich, dass das Konto ein Home-Verzeichnis hat, aber verschiedene spezifische DaemonsMaierfordern, dass ihr $HOME auf ein vorhandenes Verzeichnis verweist, oder führen möglicherweise andere Tools aus, für die die Existenz von $HOME erforderlich ist.
(Wenn beispielsweise ein Daemon gpg
zum Verschlüsseln von Daten ausgeführt werden muss, benötigt gpg ein Home-Verzeichnis zum Speichern von ~/.gnupg, auch wenn der Daemon selbst dies nicht tut.)
Warum muss ich für dieses Konto ein Home-Verzeichnis angeben?
Weil du bistfragen su
um ein „echtes Login“-Verfahren zu imitieren, bei dem das Arbeitsverzeichnis in das Stammverzeichnis des angegebenen Benutzers geändert wird. Dies ist als Teil der Wirkung -
oder -l
Option dokumentiert.
Wenn Sie dies nicht möchten su
, geben Sie die Option -
oder nicht an -l
.