O pacote qqq.deb
instala o programa qqq
que deve ser executado a partir da uqqq
conta do usuário. O pacote consiste no qqq
programa, qqq.conf
arquivo de configuração e /etc/init.d/qqq
initscript.
Como o pacote deve gerenciar a criação do usuário uqqq
? Existem práticas recomendadas ou diretrizes oficiais sobre isso?
- Basta criar o usuário automaticamente
uqqq
no postinst; - Crie o usuário automaticamente na primeira inicialização do
/etc/init.d/qqq
script; - Crie o usuário automaticamente na primeira inicialização do
qqq
programa (sem argumentos) - Não crie nenhuma conta de usuário, recuse-se a iniciar, a menos que o usuário seja criado explicitamente pelo administrador (por exemplo, usando
qqq --create-user
); - Não crie nenhuma conta de usuário, execute sem segurança a partir do root por padrão;
- Interativamente, pergunte no postinstinst, no script init.d ou
qqq
se ele deve criar um usuário.
O pacote deve remover a conta do usuário quando desinstalado?
grep adduser /var/lib/dpkg/info/*.postinst
em qualquer sistema baseado em Debian para obter muitos exemplos.adduser
é usado, ele também precisa depender do pacote. Veja: lintian.debian.org/tags/…Respostas:
O wiki Debian tem algumas orientações mais abrangentes e específicas do que o já mencionado Manual de Políticas Debian. Consulte AccountHandlingInMaintainerScripts :
Os conselhos que ele fornece sobre a exclusão de contas são inconclusivos. No entanto, observarei que o conselho correspondente para o fedora não equivoca.
fonte
Como administrador da instalação de pacotes, eu esperaria que meus pacotes criassem automaticamente os usuários necessários no pré ou no postinst, para que todos os arquivos que pertencem ao usuário possam ser criados antes que o programa seja executado.
Seu programa só deve ser executado como root se for necessário (por exemplo, vincular-se à porta privilegiada) e, idealmente, deve abandonar seus privilégios quando terminar de fazer o que é necessário.
Você pode ver como outros pacotes (instalados) lidaram com isso usando
e lendo os arquivos listados (a maioria leva mais de uma linha de opções).
Curiosamente, todos, exceto um dos meus pacotes instalados que criam um usuário, usam
adduser
para adicionar usuários, mas o pacote adduser não é um pacote necessário, portanto, seu pacote terá que ser construído para depender dele. Ouseradd
programa é usado pelo pacote libuuid1 e faz parte dopasswd
pacote, que é um pacote necessário.fonte
--quiet
abordagem parece muito popularSeção 10.9. Permissões e proprietários no Manual de Políticas Debian têm o que você está procurando (de "versão 3.9.5.0, 2013-10-28"):
Nota: A lista debian-devel é bastante ativa e responde a essas perguntas também (embora esse exemplo seja de 2003).
fonte
adduser
inpostinst
".