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
usantes novos(as) sejam adicionados(as) ao teu sistema LFS com as
mesmas configurações iniciais para coisas como o PATH; o processamento do teclado; e outras variáveis
ambientais. Usar-se essas duas facilidades torna mais fácil assegurar
esse estado inicial para cada usante 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 lar do(a) novo(a) usante quando o programa
/usr/sbin/useradd
adicionar o(a) novo(a) usante.
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) usante
root. Uma alternativa para modificar
diretamente o arquivo é a de executar useradd como o(a) usante
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.
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
escreví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) usante 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 lar do(a) usante 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 usantes já existentes; e
para usantes 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 lar do(a) usante. Se o arquivo estará no
/etc/skel, 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 lar de qualquer outro(a) usante
já no sistema.
Quando se adicionar um(a) usante novo(a) com o useradd, use o parâmetro
-m, o qual diz ao useradd para criar o diretório lar
do(a) usante e para copiar arquivos a partir do /etc/skel (pode ser anulado) para o diretório lar
do(a) usante novo(a). Por exemplo, (realize como o(a) usante
root):
useradd -m <novo(a)_usante>
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), você pode criar um(a) usante 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)
usante e o GID do grupo primário do(a) usante:
getent passwd <nome_usante> | 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) usante:
groupadd -g<GID><nome_usante>&& useradd -u<UID>-g<nome_usante><nome_usante>