Quais são as práticas recomendadas para criar uma conta do sistema? (* NIX)

3

Eu instalei manualmente um serviço chamado Gate One em /opt . Eu quero endurecer sua segurança, então eu pensei em criar uma conta do sistema para usar, por causa dos privilégios menos necessários, e tudo isso.

No entanto, quando eu corri adduser --system gateone , ele criou um diretório inicial, que eu realmente não queria. Portanto, eu corri adduser --system --home-dir /opt/gateone gateone , porque eu tinha visto algumas contas de sistema definindo diretórios home pertencentes a eles. No entanto, isso fez com que o shell de login fosse /bin/sh em vez de /bin/false , o que ele fez na primeira vez (quando eu não especifiquei um diretório inicial). Estou um pouco confuso sobre o que devo definir esses campos.

tl; dr: ao criar uma conta do sistema em um sistema operacional * NIX, quais são as práticas recomendadas para configurar o diretório inicial, o shell de login e qualquer outra coisa relevante? Por quê?

Nota: Estou usando o Ubuntu 13.04 Raring, se for importante, já que o IIRC adduser pode variar bastante de distribuição para distribuição.

    
por strugee 22.06.2013 / 06:52

2 respostas

10

Não há realmente uma prática recomendada específica, exceto pelo fato de que o shell deve ser / bin / false a menos que um shell seja necessário, o hash de senha deve ser ! , a menos que o usuário faça logon, um nome descritivo deve ser dado, e um diretório home deve ser definido como /dev/null ou similar se o aplicativo não exigir um diretório inicial válido. O usuário deve ter seu próprio grupo, preferencialmente no intervalo de ID do sistema; se não requerer um GID primário de root, por exemplo, não dê um, e certamente não dê a ele usuários sem um requisito específico. Tudo depende. Especifique tudo o que você gosta (veja man adduser para todas as opções disponíveis).

    
por 22.06.2013 / 10:26
0

Se você tentar instalar o aplicativo, a melhor opção é criar um pacote para esse sistema e seguir a diretriz de administração desse sistema (nos guias está escrito como instalar, onde, como integrar o aplicativo ao sistema e assim por diante). Como você está usando o Ubuntu, você pode seguir o guia Ubuntu / Debian. Pode ser demorado no início, mas se você implantá-lo com freqüência (muitas vezes atualizações) ou em várias máquinas, isso o ajudará.

O comando

adduser tem opções para configurar o que você está pedindo. Use adduser --help . Basicamente você pode escrever adduser --system --home /var/lib/my_app --shell /bin/false --disable-login --disable-password . Note que a maioria dos serviços do sistema tem diretórios home em / var / lib / ou se você não fornecer um pacote para um sistema, ele provavelmente deveria estar como você escreveu em /opt/<service>

    
por 22.06.2013 / 10:35