%20debe%20tener%20un%20hogar%3F.png)
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 gpg
para 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 su
para 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 -l
opción.
Si no desea su
hacer esto, no especifique la opción -
o -l
.