Estoy ejecutando una máquina virtual CentOS en EC2. Utilizo ssh como usuario de ec2 y quiero crear una carpeta de registro para mi aplicación que estoy a punto de implementar:
sudo mkdir /var/log/search-api
sudo chown ec2-user /var/log/search-api
Ahora estoy ejecutando ls
la carpeta y obtengo Permissions denied
:
[ec2-user@box_name ~]$ ls /var/log/search-api
ls: cannot access /var/log/search-api: Permission denied
Lo mismo sucede cuando intento escribir un archivo en esa carpeta:
[ec2-user@box_name ~]$ echo 'test' > /var/log/search-api/aaa.log
-bash: /var/log/search-api/aaa.log: Permission denied
¿Por qué no tendría permisos para enumerar una carpeta de mi propiedad o escribir en ella?
Respuesta1
Suponiendo que no hay ACL, necesita permiso de "ejecución" en todos los directorios (desde la raíz) para acceder a un archivo determinado (ya sea que sea de su propiedad o no).
Respuesta2
En CentOS también debes tener cuidado con las etiquetas SELinux. No son simplemente algo arbitrario, pero si decides escribir cosas no estándar en lugares no estándar utilizando usuarios no estándar, podrías quemarte.
Por favor, aclare qué utilizan las etiquetas SELinux ls -Z
. También lo que hay en su registro de auditoría relacionado con los AVC.