¿La cuenta de servicio/sistema utilizada para ejecutar el demonio (servidores web, bases de datos) debe tener un hogar?

¿La cuenta de servicio/sistema utilizada para ejecutar el demonio (servidores web, bases de datos) debe tener un hogar?

Creé una cuenta de sistema en Fedora usando los siguientes comandos

useradd -r -s /bin/false sysacct

Luego creó un directorio y otorgó permisos a sysacct.

mkdir /var/sysacct
chown sysacct:sysacct /var/sysacct

Ahora cuando intento ejecutar el comando como sysacct

su - sysacct -c 'mkdir /var/sysacct/test'
I get error

no se puede cambiar el directorio a /home/sysacct: no existe tal archivo o directorio


Why do I need to specify a home directory for this account?

Respuesta1

¿La cuenta de servicio/sistema utilizada para ejecutar el demonio (servidores web, bases de datos) debe tener un hogar?

En términos generales, no es necesario que la cuenta tenga un directorio de inicio, sino varios demonios específicos.puederequieren que su $HOME apunte a un directorio que existe, o pueden ejecutar otras herramientas que requieren que $HOME exista.

(Por ejemplo, si es necesario ejecutar un demonio gpgpara cifrar datos, gpg requerirá un directorio de inicio para almacenar ~/.gnupg, incluso si el demonio en sí no lo necesita).

¿Por qué necesito especificar un directorio de inicio para esta cuenta?

Porque erespreguntando supara imitar un procedimiento de "inicio de sesión real" que incluye cambiar el directorio de trabajo al directorio de inicio del usuario especificado. Esto se documenta como parte del efecto de -u -lopción.

Si no desea suhacer esto, no especifique la opción -o -l.

información relacionada