müssen die Dienst-/Systemkonten, die zum Ausführen von Daemons (Webserver, Datenbanken) verwendet werden, über ein Home-Konto verfügen?

müssen die Dienst-/Systemkonten, die zum Ausführen von Daemons (Webserver, Datenbanken) verwendet werden, über ein Home-Konto verfügen?

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 gpgzum 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 suum 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 -lOption dokumentiert.

Wenn Sie dies nicht möchten su, geben Sie die Option -oder nicht an -l.

verwandte Informationen