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