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

Содержит функции, используемые большинством программ этого пакета.