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).
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.
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 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)>