Исторически сложилось, что Linux хранит список примонтированных
        файловых систем в файле /etc/mtab.
        Современные ядра хранят этот список внутри себя и предоставляют его
        пользователю через файловую систему /proc. Чтобы удовлетворять требованиям утилит,
        которые ожидают наличия /etc/mtab,
        создайте следующую символическую ссылку:
      
ln -sv /proc/self/mounts /etc/mtab
        Создайте файл /etc/hosts, на который
        будут ссылаться некоторые наборы тестов, а также один из файлов
        конфигурации Perl:
      
cat > /etc/hosts << EOF
127.0.0.1  localhost $(hostname)
::1        localhost
EOF
      
        Чтобы пользователь root мог войти в
        систему и распознавался системой, в файлах /etc/passwd и /etc/group должны быть соответствующие записи.
      
        Создайте файл /etc/passwd выполнив
        следующую команду:
      
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
      
        Пароль пользователя root будет задан
        позднее.
      
        Создайте файл /etc/group, выполнив
        следующую команду:
      
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
      
        Созданные группы не являются частью какого-либо стандарта — это
        группы, определяемые частично требованиями конфигурации Udev в главе
        9, а частично общими соглашениями, используемыми в ряде существующих
        дистрибутивов Linux. Кроме того, некоторые наборы тестов зависят от
        конкретных пользователей или групп. Спецификация LSB (доступна по
        адресу https://refspecs.linuxfoundation.org/lsb.shtml)
        рекомендует, чтобы, помимо группы root с идентификатор (GID) 0 присутствовала
        группа bin с GID 1. GID 5 широко
        используется для группы tty, число 5
        также используется в systemd для файловой
        системы devpts. Все остальные имена
        групп и GID могут свободно выбираться системным администратором, так
        как хорошо написанные программы не зависят от номеров GID, а чаще
        используют название группы.
      
        Идентификатор 65534 используется ядром для NFS и отдельных
        пользовательских пространств имен для несопоставленных пользователей
        и групп (они существуют на сервере NFS или родительском пространстве
        имен пользователя, но «не
        существует» на локальном компьютере или в отдельном
        пространстве имен). Мы присваиваем nobody и nogroup
        для того, чтобы избежать несопоставленных идентификаторов. Другие
        дистрибутивы могут обрабатывать этот идентификатор по-разному,
        поэтому любая переносимая программа не должна зависеть от этого
        присвоения.
      
Для некоторых пакетов требуется локаль.
localedef -i C -f UTF-8 C.UTF-8
Для некоторых тестов в Глава 8 требуется обычный пользователь. Добавим такого пользователя здесь и удалим эту учетную запись в конце главы.
echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd echo "tester:x:101:" >> /etc/group install -o tester -d /home/tester
        Чтобы удалить приглашение «I
        have no name!», запустите новую оболочку. Поскольку
        файлы /etc/passwd и /etc/group были созданы, разрешение имен
        пользователей и групп теперь будет работать:
      
exec /usr/bin/bash --login
Программы login, agetty, init (и другие) используют ряд журналов для записи такой информации, как кто и когда входил в систему. Однако эти программы не будут записывать данные в журналы, если они еще не существуют. Инициализируйте журналы и предоставьте им соответствующие разрешения:
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 записываются все
        входы и выходы из системы. В файл /var/log/lastlog записывается время последнего
        входа каждого пользователя в систему. В файл /var/log/faillog записываются неудачные попытки
        входа в систему. В файл /var/log/btmp
        также записываются неудачные попытки входа в систему.
      
![[Примечание]](../images/note.png) 
        
          Файлы wtmp, btmp и lastlog
          используют для временных меток 32-разрядные целые числа, значения
          счетчика достигнет максимума (2 147 483 647) 19 января 2038 года
          ("проблема 2038 года"). Многие пакеты перестали их использовать,
          другие же, собираются прекратить их использование. Вероятно, лучше
          считать их устаревшими.