Historisk sett har Linux en liste over de monterte filsystemene i
filen /etc/mtab
. Moderne kjerner
opprettholder denne listen internt og eksponerer det for brukeren via
/proc
filsystemet. For å tilfredsstille
verktøy som forventer å finne /etc/mtab
, opprett følgende symbolske lenke:
ln -sv /proc/self/mounts /etc/mtab
Lag en grunnleggende /etc/hosts
fil som
blir referert til i noen testsuiter, og også i en av Perls
konfigurasjonsfiler :
cat > /etc/hosts << EOF
127.0.0.1 localhost $(hostname)
::1 localhost
EOF
For at bruker root
skal kunne logge
inn og for navnet “root” å bli gjenkjent, det må være relevante
oppføringer i /etc/passwd
og
/etc/group
filene.
Opprett /etc/passwd
filen ved å kjøre
følgende kommando:
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
systemd-journal-gateway:x:73:73:systemd Journal Gateway:/:/usr/bin/false
systemd-journal-remote:x:74:74:systemd Journal Remote:/:/usr/bin/false
systemd-journal-upload:x:75:75:systemd Journal Upload:/:/usr/bin/false
systemd-network:x:76:76:systemd Network Management:/:/usr/bin/false
systemd-resolve:x:77:77:systemd Resolver:/:/usr/bin/false
systemd-timesync:x:78:78:systemd Time Synchronization:/:/usr/bin/false
systemd-coredump:x:79:79:systemd Core Dumper:/:/usr/bin/false
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
systemd-oom:x:81:81:systemd Out Of Memory Daemon:/:/usr/bin/false
nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
EOF
Selve passordet for root
settes
senere.
Opprett /etc/group
filen ved å kjøre
følgende kommando:
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:
systemd-journal:x:23:
input:x:24:
mail:x:34:
kvm:x:61:
systemd-journal-gateway:x:73:
systemd-journal-remote:x:74:
systemd-journal-upload:x:75:
systemd-network:x:76:
systemd-resolve:x:77:
systemd-timesync:x:78:
systemd-coredump:x:79:
uuidd:x:80:
systemd-oom:x:81:
wheel:x:97:
users:x:999:
nogroup:x:65534:
EOF
De opprettede gruppene er ikke en del av noen standard—de er grupper
delvis bestemt av kravene til Udev konfigurasjonen i kapittel 9, og
delvis etter felles konvensjon brukt av en rekke eksisterende Linux
distribusjoner. I tillegg er noen testsuiter avhengige av spesifikke
brukere eller grupper. Linux Standard Base (LSB, tilgjengelig på
https://refspecs.linuxfoundation.org/lsb.shtml)
anbefaler bare at, foruten gruppen root
med en Gruppe ID (GID) på 0, en gruppe
bin
med en GID på 1 å være tilstede.
GID på 5 er mye brukt for tty
gruppen, og tallet 5 er også brukt i systemd for devpts
filsystemet. Alle andre gruppenavn og GID-er kan velges fritt av
systemets administrator siden velskrevne programmer ikke er avhengige
av GID-nummer, men bruk heller gruppens navn.
ID 65534 brukes av kjernen for NFS og separat brukernavneområder for
ikke-tilordnede brukere (de finnes på NFS serveren eller den
overordnede brukernavneområde, men “finnes ikke” på den lokale maskinen eller i det
separate navnerommet). Vi tildeler nobody
og nogroup
for å unngå en ikke navngitt ID. Men andre distroer kan behandle
denne IDen annerledes, så alle flyttbare programmer bør ikke være
avhengig av denne tildelingen.
Noen tester i Kapittel 8 trenger en vanlig bruker. Vi legger til denne brukeren her og sletter denne kontoen på slutten av det kapittelet.
echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd echo "tester:x:101:" >> /etc/group install -o tester -d /home/tester
For å fjerne “I have no
name!” ledetekst, start et nytt skall. Siden
/etc/passwd
og /etc/group
filer har blitt opprettet, vil
brukernavn og gruppenavnoppløsning nå virke:
exec /usr/bin/bash --login
login, agetty, og init programmene (og andre) bruker en rekke loggfiler for å registrere informasjon som hvem som var logget inn på systemet og når. Disse programmene vil imidlertid ikke skrive til loggfilene hvis de ikke allerede eksisterer. Initialiser loggfilene og gi dem riktige tillatelser:
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
/var/log/wtmp
filen registrerer alle
pålogginger og utlogginger. /var/log/lastlog
filen registrerer når hver bruker
sist logget på /var/log/faillog
filen
registrerer mislykkede påloggingsforsøk. /var/log/btmp
filen registrerer de dårlige
påloggingsforsøkene.
wtmp
, btmp
, og lastlog
filene bruker 32-biters heltall for tidsstempler og de vil være
fundamentalt ødelagte etter år 2038. Mange pakker har sluttet å
bruke dem og andre pakker kommer til å slutte å bruke dem. Det er
sannsynligvis best å betrakte dem som avviklet.