Библиотека сайта rus-linux.net
6.7. Создание файлов passwd, group и log
Для возможности регистрации в качестве пользователя root и для распознавания имени
“root”
нам необходимо создать соответствующие элементы в файлах
/etc/passwd
и
/etc/group
.
Создадим файл /etc/passwd
запуском команды:
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
EOF
Пароль пользователя root (символ “x” заменяет его здесь) будет определен позднее.
Создадим файл /etc/group
запуском следующей команды:
cat > /etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tty:x:4:
tape: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:
usb:x:14:
EOF
Созданные группы не являются частью какого-то стандарта— эти группы будут использоваться при конфигурации Udev в следующей главе. База стандарта Linux (LSB, доступна на http://www.linuxbase.org) рекомендует, чтобы после группы “root” с ID группы (GID) 0 находилась группа “bin” с GID, равным 1. Все другие имена групп и их GID могут свободно выбираться пользователем, но некоторые пакеты зависят от имени группы, хоть и не зависят от номера GID.
Для удаления приглашеня с текстом “I have no
name!” запустим новый shell. После того, как полная Glibc
была установлена в Главе 5 и файлы
/etc/passwd
и /etc/group
были созданы, имя пользователя и имя группы
теперь будут работать.
exec /tools/bin/bash --login +h
Замечание по использованию параметра +h
.
Это скажет bash не использовать внутренний
кеш путей. Без этого bash
будет запоминать пути к исполненым бинарникам. Поскольку мы собираемся
использовать вновь скомпилированые пакеты по мере их установки,
мы должны отключить эту функцию в этой главе.
Программы login, agetty и init (и другие) используют некоторые лог-файлы для записи информации, например кто был зарегистрирован в системе и когда. Хотя эти программы не будут записывать в лог-файлы если они пока отсутствуют. Проинициализируем лог-файлы и дадим им правильные права:
touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp utmp /var/run/utmp /var/log/lastlog chmod 664 /var/run/utmp /var/log/lastlog
Файл /var/run/utmp
записывает пользователей,
которые уже зарегистрировались.
Файл /var/log/wtmp
записывает все входы
в систему и выходы из системы.
Файл /var/log/lastlog
записывает, когда каждый
пользователь последний раз регистрировался в системе.
Файл /var/log/btmp
записывает неправильые регистрации.