Configurando para Adicionar Usuários(as)

Juntos, o comando /usr/sbin/useradd e o diretório /etc/skel (ambos são fáceis de configurar e de usar), fornecem uma maneira para assegurar que usuários(as) novos(as) sejam adicionados(as) ao seu sistema LFS com as mesmas configurações iniciais para coisas como o PATH; o processamento do teclado; e outras variáveis ambientais. Usar essas duas facilidades torna mais fácil assegurar esse estado inicial para cada usuário(a) novo(a) adicionado(a) ao sistema.

O diretório /etc/skel mantém cópias de vários arquivos de inicialização e de outros que possivelmente sejam copiados para o diretório home do(a) novo(a) usuário(a) quando o aplicativo /usr/sbin/useradd adicionar o(a) usuário(a) novo(a).

Useradd

O aplicativo useradd usa uma coleção de valores padrão mantidos em /etc/default/useradd. Esse arquivo é criado em uma instalação da base do LFS pelo pacote Shadow. Se ele tiver sido removido ou renomeado, [então] o aplicativo useradd usa alguns parâmetros residuais internos. Você consegue ver os valores dos parâmetros residuais executando /usr/sbin/useradd -D.

Para mudar esses valores, simplesmente modifique o arquivo /etc/default/useradd como o(a) usuário(a) root. Uma alternativa para modificar diretamente o arquivo é a de executar useradd como o(a) usuário(a) root enquanto fornece as modificações desejadas na linha de comando. Informação acerca do como fazer isso pode ser encontrada na página de manual do useradd.

/etc/skel

Para começar, crie um diretório /etc/skel e tenha certeza de que ele seja gravável somente pelo(a) administrador(a) do sistema, usualmente o(a) root. Criar-se o diretório como o(a) root é o melhor caminho a percorrer.

O modo de quaisquer arquivos oriundos desta parte do livro que você coloque no /etc/skel deveria ser gravável somente pelo(a) dono(a). Também, dado que não existe como se dizer que tipo de informação sensível um(a) usuário(a) eventualmente possa colocar na cópia dele(a) desses arquivos, você deveria torná-los ilegíveis por "group" e "other".

Você também pode colocar outros arquivos no /etc/skel e permissões diferentes possivelmente sejam necessárias para eles.

Decida quais arquivos de inicialização deveriam ser fornecidos em cada (ou na maioria) diretório "home" do(a) usuário(a) novo(a). As decisões que você tomar afetarão o que você fizer nas próximas duas seções, Os Arquivos de Iniciação do Shell Bash e Os Arquivos vimrc. Alguns, ou todos, daqueles arquivos serão úteis para o(a) root; para quaisquer usuários(as) já existentes; e para usuários(as) novos(as).

Os arquivos originários daquelas seções que você poderia querer colocar no /etc/skel incluem: .inputrc; .bash_profile; .bashrc; .bash_logout; .dircolors; e .vimrc. Se estiver inseguro(a) acerca de quais desses deveriam ser colocados lá, [então] apenas continue para as seções seguintes; leia cada seção e quaisquer referências fornecidas; e, então, tome a sua decisão.

Você executará um conjunto ligeiramente modificado de comandos para arquivos que estejam colocados no /etc/skel. Cada seção te lembrará disso. Em resumo, os comandos do livro foram escritos para arquivos não adicionados ao /etc/skel; e, em vez disso, apenas envia os resultados para o diretório "home" do(a) usuário(a). Se o arquivo estará no /etc/skel, [então] mude o(s) comando(s) do livro para enviar a saída gerada para lá em vez disso; e, então, apenas copie o arquivo a partir do /etc/skel para os diretórios apropriados, como o /etc; o ~; ou o diretório "home" de qualquer outro(a) usuário(a) já no sistema.

Quando Adicionando-se um(a) Usuário(a)

Quando se adicionar um(a) usuário(a) novo(a) com o useradd, use o parâmetro -m, o qual diz ao useradd para criar o diretório "home" do(a) usuário(a); e para copiar arquivos a partir do /etc/skel (pode ser anulado) para o diretório "home" do(a) usuário(a) novo(a). Por exemplo, (realize como o(a) usuário(a) root):

useradd -m <novo(a)_usuário(a)>

Se você estiver compartilhando um /home ou /usr/src com outra distribuição Linux (por exemplo, a distribuição anfitriã usada para construir o LFS), [então] você pode criar um(a) usuário(a) com o mesmo "UID" (e o mesmo "GID" de grupo primário) para manter a titularidade da propriedade do arquivo consistente em todos os sistemas. Primeiro, na outra distribuição, obtenha o "UID" do(a) usuário(a) e o "GID" do grupo primário do(a) usuário(a):

getent passwd <nome_usuário(a)> | cut -d ':' -f 3,4

O comando deveria gerar o "UID" e o "GID", separados por dois pontos. Agora no sistema BLFS, crie o grupo primário e o(a) usuário(a):

groupadd -g <GID> <nome_usuário(a)> &&
useradd -u <UID> -g <nome_usuário(a)> <nome_usuário(a)>