Assumindo que não há ACLs, você precisa da permissão "executar" em todos os diretórios (do root) para acessar um determinado arquivo (independente de você ser proprietário ou não).
Estou executando um CentOS vm no EC2. Eu ssh como ec2-user, e quero criar uma pasta de log para o meu aplicativo que estou prestes a implantar:
sudo mkdir /var/log/search-api
sudo chown ec2-user /var/log/search-api
Agora estou executando ls
na pasta e recebendo Permissions denied
:
[ec2-user@box_name ~]$ ls /var/log/search-api
ls: cannot access /var/log/search-api: Permission denied
O mesmo acontece quando tento gravar um arquivo nessa pasta:
[ec2-user@box_name ~]$ echo 'test' > /var/log/search-api/aaa.log
-bash: /var/log/search-api/aaa.log: Permission denied
Por que eu não teria permissão para listar uma pasta que possuo ou para gravá-la?
Assumindo que não há ACLs, você precisa da permissão "executar" em todos os diretórios (do root) para acessar um determinado arquivo (independente de você ser proprietário ou não).
No CentOS, você precisa cuidar também dos rótulos do SELinux. Eles não são apenas algo arbitrário, mas se você decidir escrever coisas não padronizadas em lugares não padrão usando usuários não padronizados, você poderá se queimar.
Por favor, esclareça quais são os rótulos do SELinux usando ls -Z
. Também o que está no seu registro de auditoria relacionado aos AVCs.
Tags ssh permissions linux centos