Práticas recomendadas dizem para restringir o uso de / var para sudoers?

2

Eu escrevi um pacote e gostaria de usar /var para persistir alguns dados. Os dados que estou armazenando talvez sejam considerados como uma adição para /var/db .

O padrão que observo é que os arquivos em /var/db e os arredores são de propriedade de root . O uso primário (pretendido) do pacote filtra tarefas agendadas - o que significa que você precisaria de permissões para editar o crontab.

  1. Devo presumir uma instalação do sudo do pacote?
  2. Devo fazer com que o pacote seja degradado para um subdiretório /usr e, em caso afirmativo, qual?
  3. Se eu 'opinar' que qualquer instalação não-sudo requer um configrc (com caminhos), onde o pacote deve parecer (supondo um ambiente de host compartilhado) para esse arquivo de configuração?

Por acaso, este pacote é uma jóia de rubi e você pode encontrá-lo aqui .

    
por New Alexandria 25.10.2012 / 16:49

1 resposta

1

Se você quiser seguir o padrão de hierarquia de arquivos do Linux ( link e link ) (que, como administrador de sistemas Linux, eu recomendo) você deve usar /var/lib/<your application name> para armazenar dados persistentes:

/var/lib holds state information pertaining to an application or the system. State information is data that programs modify while they run, and that pertains to one specific host. Users must never need to modify files in /var/lib to configure a package's operation.

An application (or a group of inter-related applications) must use a subdirectory of /var/lib for its data. There is one required subdirectory, /var/lib/misc, which is intended for state files that don't need a subdirectory; the other subdirectories should only be present if the application in question is included in the distribution.

Isso significa que o pacote deve ser instalado com sudo . Por outro lado, observe que qualquer subdiretório em /usr ( /user/local seria uma segunda possibilidade) exigiria sudo também, pois eles pertencem a root . Então, se você quiser voltar para uma instalação não-sudo, eu diria que ~/bin é uma boa escolha.

O pacote em si só precisa ser executado como root se for usado para editar os crontabs de outros usuários.

A partir de configrc , se você quer dizer isso: link Eu não posso lhe dar nenhum conselho porque Eu não sei disso.

    
por 08.11.2012 / 10:35