The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа

Shadow-4.0.4.1

Введение в Shadow

Пакет shadow был установлен в LFS и нет смысла переустанавливать его, если вы не установили Linux-PAM. Если установили, то это позволит программам, таким как login и su использовать PAM.

Информация о пакете

Дополнительно

Зависимости Shadow

Требуемые

Linux-PAM-0.78

Установка Shadow

Переустановим Shadow запуском следующих команд:

patch -Np1 -i ../shadow-4.0.4.1-pam-1.patch &&
LIBS="-lpam -lpam_misc" ./configure --libdir=/usr/lib \
    --enable-shared --with-libpam --without-libcrack &&
echo '#define HAVE_SETLOCALE 1' >> config.h &&
sed -i '/extern char/d' libmisc/xmalloc.c &&
make

А теперь, как пользователь root:

make install &&
mv /bin/sg /usr/bin &&
mv /bin/vigr /usr/sbin &&
mv /usr/bin/passwd /bin &&
rm /bin/groups &&
mv /usr/lib/lib{misc,shadow}.so.0* /lib &&
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so &&
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Описание команд

--without-libcrack: Этот ключ скажет Shadow не использовать libcrack. Это желательно, поскольку Linux-PAM уже содержит libcrack.

sed -i '/extern char/d' libmisc/xmalloc.c: Это устраняет проблему компиляции при использовании GCC-3.4.x.

Настройка Linux-PAM для работы с Shadow

Файлы конфигурации

/etc/pam.d/login, /etc/pam.d/passwd, /etc/pam.d/su, /etc/pam.d/shadow, /etc/pam.d/useradd и /etc/pam.d/chage – альтернативно, /etc/pam.conf

Конфигурационная информация

Добавьте следующие файлы конфигурации Linux-PAM в /etc/pam.d/ (или добавте их в /etc/pam.conf с дополнительными полями для программы).

cat > /etc/pam.d/login << "EOF"
# Begin /etc/pam.d/login

auth        requisite      pam_securetty.so
auth        requisite      pam_nologin.so
auth        required       pam_env.so
auth        required       pam_unix.so
account     required       pam_access.so
account     required       pam_unix.so
session     required       pam_motd.so
session     required       pam_limits.so
session     optional       pam_mail.so     dir=/var/mail standard
session     optional       pam_lastlog.so
session     required       pam_unix.so

# End /etc/pam.d/login
EOF
cat > /etc/pam.d/passwd << "EOF"
# Begin /etc/pam.d/passwd

password    required       pam_unix.so     md5 shadow 

# End /etc/pam.d/passwd
EOF
cat > /etc/pam.d/shadow << "EOF"
# Begin /etc/pam.d/shadow

auth        sufficient      pam_rootok.so
auth        required        pam_unix.so
account     required        pam_unix.so
session     required        pam_unix.so
password    required        pam_permit.so

# End /etc/pam.d/shadow
EOF
cat > /etc/pam.d/su << "EOF"
# Begin /etc/pam.d/su

auth        sufficient      pam_rootok.so
auth        required        pam_unix.so
account     required        pam_unix.so
session     required        pam_unix.so

# End /etc/pam.d/su
EOF
cat > /etc/pam.d/useradd << "EOF"
# Begin /etc/pam.d/useradd

auth        sufficient      pam_rootok.so
auth        required        pam_unix.so
account     required        pam_unix.so
session     required        pam_unix.so
password    required        pam_permit.so

# End /etc/pam.d/useradd
EOF
cat > /etc/pam.d/chage << "EOF"
# Begin /etc/pam.d/chage

auth        sufficient      pam_rootok.so
auth        required        pam_unix.so
account     required        pam_unix.so
session     required        pam_unix.so
password    required        pam_permit.so

# End /etc/pam.d/chage
EOF
[Замечание]

Замечание

Если у вас установлены cracklib, замените /etc/pam.d/passwd на следующее:

cat > /etc/pam.d/passwd << "EOF" 
# Begin /etc/pam.d/passwd

password    required    pam_cracklib.so     \
    retry=3  difok=8  minlen=5  dcredit=3  ocredit=3  ucredit=2  lcredit=2
password    required    pam_unix.so     md5 shadow use_authtok

# End /etc/pam.d/passwd
EOF
[Warning]

Внимание

На этом месте вы должны выполнить простой тест, чтобы увидеть, работает ли Shadow как вы ожидаете. Откройте другой терминал и зарегистрируйтесь, как обычный пользователь, затем su для root. Если нет никаких ошибок, то все хорошо и вы можете продолжать дальнейшую конфигурацию. Если вы получили ошибки, остановитесь и дважды проверьте вышеописанные файлы конфигурации. Если вы не можете найти и устранить ошибки, вы должны перекомпилировать shadow, заменив --with-libpam на --without-libpam в вышеописанных инструкциях. Если вам не удалось сделать это и ошибки остались, вы не сможете зарегистрироваться в вашей системе.

На данный момент файл /etc/pam.d/other отконфигурен для разрешения любому пользователю с аккаунтом на машине использовать программы, которые не имеют их собственного файла конфигурации. После проверки Linux-PAM на правильность конфигурации, он может быть изменен на следующее:

cat > /etc/pam.d/other << "EOF"
# Begin /etc/pam.d/other

auth        required        pam_deny.so
auth        required        pam_warn.so
account     required        pam_deny.so
session     required        pam_deny.so
password    required        pam_deny.so
password    required        pam_warn.so

# End /etc/pam.d/other
EOF

В конце отредактируйте /etc/login.defs добавлением '#' в начало следующих строк:

LASTLOG_ENAB
MAIL_CHECK_ENAB
PORTTIME_CHECKS_ENAB
CONSOLE
MOTD_FILE
NOLOGINS_FILE
PASS_MIN_LEN
SU_WHEEL_ONLY
MD5_CRYPT_ENAB
CONSOLE_GROUPS
ENVIRON_FILE

Это остановит login от выполнеия этих функций, поскольку теперь они будут выполнены модулями PAM. Дополнительно добавте '#' в начало следующих строк, если у вас установлена библиотека cracklib:

OBSCURE_CHECKS_ENAB
CRACKLIB_DICTPATH
PASS_CHANGE_TRIES
PASS_ALWAYS_WARN

Содержание

Список установленных файлов с их короткими описаниями может быть найден в ../../../../lfs/view/6.0/chapter06/shadow.html#contents-shadow.

Последнее обновление 2005-03-04 14:08:15 -0700




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру