Linux From Scratch. Версия 6.0
Глава 6. Установка основных системных программ
6.53. Shadow-4.0.4.1
Пакет Shadow содержит программы для усиления
безопасности системных паролей.
Расчетное время сборки 0.4 SBU
Требуемое место на диске 11 MB
Shadow зависит от установки: Bash, Binutils, Bison, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make и Sed.
6.53.1. Инсталлируем Shadow
Подготавливаем Shadow для компиляции:
./configure --libdir=/usr/lib --enable-shared
Поработаем над проблемой, которая препятствует
интернационализации Shadow, выполнив:
echo '#define HAVE_SETLOCALE 1' >> config.h
Shadow некорректно декларирует функцию malloc(),
означающую ошибку компиляции. Устраним это:
sed -i '/extern char/d' libmisc/xmalloc.c
Компилируем пакет:
make
Устанавливаем пакет:
make install
Shadow использует два файла для
настройки параметров аутентификации в системе. Установим эти файлы:
cp etc/{limits,login.access} /etc
Вместо использования по умолчанию метода
crypt, используем более защищенный
метод шифрования паролей MD5,
который также допускает использование паролей длинной более 8 символов.
Также необходимо изменить положение пользовательских почтовых ящиков на
/var/spool/mail, которое Shadow устанавливает
по умолчанию в /var/mail.
Мы сделаем это, проведя следующие изменения конфигурационного файла:
cp etc/login.defs.linux /etc/login.defs
sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' /etc/login.defs
Переместим некоторые ссылки/программы в более предпочтительное место:
mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin
mv /usr/bin/passwd /bin
Переместим динамические библиотеки в более предпочтительное место:
mv /usr/lib/lib{shadow,misc}.so.0* /lib
Поскольку некоторые пакеты нуждаются в расположении только что
перемещенных библиотек в /usr/lib,
создадим следующие ссылки:
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so
Опция -D программы
useradd требует каталог
/etc/default для корректной работы:
mkdir /etc/default
Coreutils уже имеет лучшую установленную программу
groups в /usr/bin.
Удалим аналогичную программу из Shadow:
rm /bin/groups
6.53.2. Настройка Shadow
Этот пакет содержит утилиты для модификации паролей пользователей,
добавления или удаления пользователей и групп и тому подобные. Я не собираюсь
объяснять здесь что такое скрытие паролей
(password shadowing). Полное объяснение можно найти в файле
doc/HOWTO в распакованном каталоге с исходниками
Shadow. Здесь я опишу только то, что Вам понадобится, если Вы захотите
использовать поддержку Shadow: программы, которые должны проверять пароли
(к примеру, xdm, демоны ftp или демоны pop3) должны будут компилироваться с
поддержкой 'shadow-совместимости', что надо для использования работы
со скрытыми паролями.
Для использования скрытых паролей запустите такую команду:
pwconv
А для использования скрытых групп выполните:
grpconv
При нормальных обстоятельствах Вам пока нет надобности создавать пароли.
Запомните, что если Вы решите вернуться к этой главе для включения скрытия
паролей, надо будет сбросить пароли всех пользователей командой
passwd и пароли всех групп командой
gpasswd.
6.53.3. Установка пароля root
Выберите пароль для пользователя root
и установите его командой:
passwd root
6.53.4. Описание Shadow
Проинсталлированные программы: chage, chfn, chpasswd, chsh, expiry,
faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck,
grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp,
newusers, passwd, pwck, pwconv, pwunconv, sg (ссылка на newgrp),
useradd, userdel, usermod, vigr (ссылка на vipw) и vipw.
Проинсталлированные библиотеки: libshadow[.a,so].
Короткое описание
-
chage
Используется для изменения максимального количества дней до
обязательной смены пароя.
- chfn
Изменяет полное имя пользователя и некоторую другую информацию.
-
chpasswd
Используется для обновления паролей пользовательских логинов.
- chsh
Используется для изменения оболочки пользователя по умолчанию.
- expiry
Проверяет и изменяет правила использования паролей.
-
faillog
Используется для обработки логов ошибочных входов в систему,
для установки лимита на ошибки входа до блокирования логина или
для сброса счетчика этих ошибок.
-
gpasswd
Используется для добавления или удаления
членов и администраторов групп.
-
groupadd
Создает группу с указанным именем.
-
groupdel
Удаляет группу с указанным именем.
-
groupmod
Используется для изменения имени указанной группы или ее GID.
- groups
Возвращает группы, членом которых является указанный пользователь.
- grpck
Проверяет целосность файлов групп /etc/group
и /etc/gshadow.
- grpconv
Создает или обновляет теневой файл групп, используя обычный файл групп.
-
grpunconv
Обновляет /etc/group из
/etc/gshadow и затем удаляет последний.
- lastlog
Отчитывается о входах пользователей или
указанного пользователя в систему.
- login
Используется в начале новой сессии работы с системой.
-
logoutd
Демон, контролирующий время регистрации и порты.
-
mkpasswd
Шифрует указанный пароль заданным алгоритмом.
- newgrp
Используется для изменения текущего GID.
-
newusers
Используется для создания или обновления пользовательских логинов.
- passwd
Используется для изменения пароля пользователя или группы.
- pwck
Проверяет целостность файлов паролей /etc/passwd
и /etc/shadow.
- pwconv
Создает или обновляет теневой файл паролей,
используя обычный файл паролей.
-
pwunconv
Обновляет /etc/passwd из
/etc/shadow и затем удаляет последний.
- sg
Выполняет указанную команду с правами группы с указанным GID.
- su
Запускает shell с заменой пользователя и ID группы.
-
useradd
Создает нового пользователя с указанным именем или обновляет
информацию по умолчанию для новых пользователей.
- userdel
Удаляет указанный пользовательский логин.
- usermod
Используется для модификации указанного имени пользователя,
UID, оболочки, группы, домашнего каталога и т. п.
- vigr
Редактирует файл /etc/group или
/etc/gshadow.
- vipw
Редактирует файл /etc/passwd или
/etc/shadow.
- libshadow
Содержит функции, используемые большинством программ этого пакета.
|