syslog quer provavelmente chdir
para o diretório e precisa, portanto, do bit de execução definido no diretório.
Veja Execute vs Read bit . Como funcionam as permissões de diretório no Linux? para mais informações.
Estou executando um programa (syslog-ng) que deve ler e gravar vários arquivos em um determinado caminho. Ele estava falhando no início, alegando que não é possível abrir um arquivo nesse caminho.
Por favor, assuma esta estrutura de diretórios:
/var/platform/program
O diretório platform
tem a permissão definida como 0655 (não executa permissão para o usuário proprietário). Se eu alterar essas permissões para 0755, o syslog-ng funciona bem.
Por outro lado, eu escrevi um pequeno programa em C que tenta abrir e gravar em um arquivo no mesmo diretório, e funciona sem problemas quando executado como root, mas o syslog-ng está falhando ...
Qual pode ser o problema neste caso?
syslog quer provavelmente chdir
para o diretório e precisa, portanto, do bit de execução definido no diretório.
Veja Execute vs Read bit . Como funcionam as permissões de diretório no Linux? para mais informações.
Tags directory permissions