son - ¿Cómo debo iniciar sesión desde un demonio Debian Linux no root?
listar usuarios en linux (4)
Debe crear un subdirectorio como /var/log/mydaemon
tenga la propiedad del usuario del daemon
Estoy escribiendo un nuevo daemon, que se alojará en Debian Linux.
Descubrí que / var / log solo tiene permisos de escritura, por lo que mi daemon no puede escribir archivos de registro allí.
Sin embargo, si escribe allí, parece que obtendrá rotación automática de registros y también funcionará como lo esperaría un usuario.
¿Cuál es la forma recomendada para que un daemon escriba las entradas de registro que aparecen en / var / log, sin tener que ejecutarse como root?
El daemon es un servidor web, por lo que el tráfico de registro será similar a Apache.
usa el comando "logger"
Como root, cree un archivo de registro allí y cambie el propietario de los archivos al usuario del servidor web:
# touch /var/log/myserver.log
# chown wwwuser /var/log/myserver.log
Entonces el servidor puede escribir en los archivos si se ejecuta como usuario wwwuser
. Sin embargo, no ganará rotación automática de registros. /etc/logrotate.conf
agregar el archivo de registro a /etc/logrotate.conf
o /etc/logrotate.d/...
y hacer que el servidor vuelva a abrir el archivo de registro cuando lo /etc/logrotate.conf
/etc/logrotate.d/...
.
También puede usar syslog
para el registro, si es que se ajusta mejor a su situación.
Dos opciones:
- Comience como
root
, abra el archivo, luego suelte los permisos consetuid
. (No recuerdo las llamadas exactas del sistema para descartar permisos). De todos modos, tendrá que hacer esto si desea vincularse al puerto TCP 80 o cualquier puerto por debajo de 1024. - Cree un subdirectorio como / var / log / mydaemon que tenga la propiedad del usuario del daemon, como dijo WiseTechi .
Los archivos en /var/log
no se giran automáticamente; en cambio, la rotación está controlada por /etc/logrotate.conf
y los archivos en /etc/logrotate.d
.