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 .