Historicamente, o Linux manteve uma lista dos sistemas de arquivos
montados no arquivo /etc/mtab. Os
Núcleos modernos mantém essa lista internamente e a expõem para o(a)
usuário(a) via sistema de arquivos /proc. Para satisfazer utilitários que esperam
encontrar o /etc/mtab, crie o seguinte
link simbólico:
ln -sv /proc/self/mounts /etc/mtab
Crie um arquivo /etc/hosts básico para
ser referenciado em algumas suítes de teste e em um dos arquivos de
configuração do Perl também:
cat > /etc/hosts << EOF
127.0.0.1 localhost $(hostname)
::1 localhost
EOF
Para que o(a) usuário(a) root seja
capaz de logar e para que o nome “root” seja reconhecido, precisam existir
entradas relevantes nos arquivos /etc/passwd e /etc/group.
Crie o arquivo /etc/passwd executando o
seguinte comando:
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/usr/bin/false
daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
EOF
A senha atual para root será
configurada posteriormente.
Crie o arquivo /etc/group executando o
seguinte comando:
cat > /etc/group << "EOF"
root:x:0:
bin:x:1:daemon
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
input:x:24:
mail:x:34:
kvm:x:61:
uuidd:x:80:
wheel:x:97:
users:x:999:
nogroup:x:65534:
EOF
Os grupos criados não são parte de nenhum padrão—eles são grupos
decididos em parte pelas exigências da configuração do Udev no
Capítulo 9 e em parte pelas convenções comuns empregadas por um
número de distribuições Linux existentes. Adicionalmente, algumas
suítes de teste dependem de usuárias(os) ou grupos específicas(os). A
Linux Standard Base (LSB, disponível em http://refspecs.linuxfoundation.org/lsb.shtml)
somente recomenda que, além do grupo root com um ID de Grupo (GID) de 0, um grupo
bin com um GID de 1 esteja presente.
O GID de 5 é amplamente usado para o grupo tty e o número 5 também é usado no /etc/fstab para o
sistema de arquivos devpts. Todos os
outros nomes de grupo e GIDs podem ser escolhidos livremente pelo(a)
administrador(a) do sistema, uma vez que aplicativos bem escritos não
dependem de números de GID, mas sim usam o nome do grupo.
O ID 65534 é usado pelo núcleo para NFS e espaços de nome de
usuário(a) separados para usuários(as) e grupos não mapeados(as)
(aqueles(as) existem no servidor NFS ou no espaço de nome de usuário
pai, porém “não
existem” na máquina local ou no espaço de nome
separado). Nós atribuímos nobody e
nogroup para evitar um ID não
nomeado. Porém, outras distribuições possivelmente tratem esse ID
diferentemente, de forma que qualquer aplicativo portável não deveria
depender dessa atribuição.
Alguns pacotes precisam de um código de idioma.
localedef -i C -f UTF-8 C.UTF-8
Alguns testes no Capítulo 8 precisam de um(a) usuário(a) regular. Nós adicionamos esse(a) usuário(a) aqui e deletamos essa conta ao final daquele capítulo.
echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd echo "tester:x:101:" >> /etc/group install -o tester -d /home/tester
Para remover o prompt “I have
no name!”, inicie um novo shell. Uma vez que os
arquivos /etc/passwd e /etc/group tenham sido criados, a resolução de nome
de usuária(o) e nome de grupo agora funcionará:
exec /usr/bin/bash --login
Os aplicativos login, agetty e init (e outros) usam um número de arquivos de registro para registrar informação, tais como quem esteve logada(o) no sistema e quando. Entretanto, esses aplicativos não escreverão nos arquivos de registro se eles já não existirem. Inicialize os arquivos de registro e dê a eles permissões adequadas:
touch /var/log/{btmp,lastlog,faillog,wtmp}
chgrp -v utmp /var/log/lastlog
chmod -v 664 /var/log/lastlog
chmod -v 600 /var/log/btmp
O arquivo /var/log/wtmp registra todos
os logins e logouts. O arquivo /var/log/lastlog registra quando cada usuária(o) se
logou pela última vez. O arquivo /var/log/faillog registra tentativas de login
falhas. O arquivo /var/log/btmp
registra tentativas de login inválidas.
O arquivo /run/utmp registra as(os)
usuárias(os) que estão atualmente logadas(os). Esse arquivo é
criado dinamicamente nos scripts de inicialização.
Os arquivos utmp, wtmp,
btmp e lastlog usam números inteiros de 32 bits para
carimbo de tempo e eles serão fundamentalmente quebrados depois do
ano 2038. Muitos pacotes pararam de usá-los e outros pacotes
pararão de usá-los. Não confie no conteúdo deles para nada.
Provavelmente é melhor considerá-los obsoletos.