Onde estão todas as possibilidades de armazenar um arquivo de log

4

Estou escrevendo um programa e gostaria que ele armazenasse um arquivo de log. O problema é que o programa não deve ser executado como root.

Então, se eu quisesse manter as tradições de onde os arquivos são colocados, onde eu poderia manter o arquivo de log, se não em / var / log, para o qual um usuário normal teria permissões?

Edit: estou usando o Arch linux.

    
por Joshua Strot 13.12.2013 / 00:11

1 resposta

5

Como o sistema operacional que você está usando está faltando, uma abordagem mais genérica poderia ser: Crie um diretório com o nome do seu aplicativo (digamos, foo) dentro de /var/log

# mkdir /var/log/foo

A maioria dos sistemas operacionais baseados em unix permite que você navegue pelas pastas var_log, mas não para visualizar o conteúdo dos arquivos de log (como esperado).

Conceda a propriedade ao usuário que você está usando para executar seu programa e a permissão para esse usuário (apenas) para ver / gravar esses arquivos de log

# chown userfoo /var/log/foo
# chmod 600 /var/log/foo

Você também pode jogar com grupos, dando acesso de leitura aos operadores, por exemplo (e, claro, um conjunto diferente de permissões de chmod, como 640 .

Concluído. Isso deve ser genérico o suficiente para qualquer sistema semelhante ao Unix e, talvez, uma abordagem melhor do que adicionar um usuário a grupos administrativos.

    
por 13.12.2013 / 00:27