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 conseguia abrir um arquivo nesse caminho.
Por favor, assuma esta estrutura de diretórios:
/var/platform/program
O platform
diretório tem a permissão definida como 0655 (sem permissão de execução para o usuário proprietário). Se eu alterar essas permissões para 0755, o syslog-ng funcionará bem.
Por outro lado, escrevi um pequeno programa em C que tenta abrir e escrever 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?
Responder1
O syslog provavelmente deseja ir chdir
para o diretório e precisa, portanto, do bit de execução definido no diretório.
VerExecutar vs ler bit. Como funcionam as permissões de diretório no Linux?Para maiores informações.