El propietario no puede escribir el archivo de registro

El propietario no puede escribir el archivo de registro

Estoy trabajando en un script de Python, creé un archivo en la carpeta /var/log/ con 664 permisos

El script de Python no puede escribir registros en el archivo creado, IDK por qué... ya que el propietario del archivo es ubuntu (usuario predeterminado de AWS).

Con mucho cuidado le he dado permiso de lectura y escritura al archivo.

El crontab programado no pudo ejecutar la aplicación debido a un problema de permiso denegado. ¿Algunas ideas?

i) el comando que utilizó para configurar el crontab - crontab -e ii) la línea de crontab que ejecuta el script de Python - */30 * * * * python3 /home/ubuntu/message_initiator.py iii) el mensaje de error exacto -Permission denied: '/var/log/ice-message-initiator.log'

Respuesta1

Si tu corres

ll -d /var/log

Luego verá que es propiedad de root(posiblemente syslogcomo grupo) y tiene permisos 755 o 775, lo que significa que mientras otros pueden leer y recorrer el directorio, solo root(y posiblemente syslog) pueden modificarlo. ice-message-initiator.logestá dentro /var/logy mientras ubuntusea su propietario, ubuntuno tiene permisos de modificación, /var/loglo que significa que no puede modificar su contenido, ya sean archivos o directorios. El error no ocurre porque el ubuntuusuario no puede leer el archivo, sino porque no puede escribir en el archivo debido a que no tiene permisos de modificación en su directorio principal /var/log.

Para que su cronjob funcione, debe ejecutarlo rooto escribir el archivo de registro en un subdirectorio como /var/log/icey otorgarle ubuntupermisos de modificación.

información relacionada