Обновление Linux-PAM в Gentoo

()

Вчера была помечена как стабильная версия sys-libs/pam 0.99 для архитектуры x86 дистрибутива Gentoo Linux. Это означает что в ближайшие несколько дней с проблемой её обновления столкнётся достаточно большое количество пользователей.

Основная проблема в том, что после версии 0.78, которая была до этого была самой новой из помеченных как стабильные, из pam убрали ряд патчей от RedHat и добавили на их место патчи от FreeBSD. В результате этого отпала необходимость в модуле pam_stack и немного изменился синтаксис конфигурационных файлов.

Большая часть конфигурационных файлов pam сосредоточена в директории /etc/pam.d. Перед обновлением рекомендуется удалить оттуда все лишние файлы. Скорее всего это будут резервные копии изменённых файлов и файлы, оставшиеся от некоторых уже удалённых пакетов. Поэтому очевидно первым делом нужно получить список файлов, не принадлежащих какому-либо пакету. Для это воспользуемся командой:

qfile -o /etc/pam.d/*

Она выдаст примерно вот такой список файлов:

/etc/pam.d/sshd
/etc/pam.d/system-auth~
/etc/pam.d/vmware-authd

Если программы qfile у вас нет, то установите пакет app-portage/portage-utils.

Обратите внимание на то, что у вас может быть файл /etc/pam.d/vmware-authd, который не принадлежит ни к одному из пакетов, однако он сгенерирован утилитой vmware-config.pl из пакета vmware-server. Если последний у вас установлен - лучше файл не удалять или потом пересоздать заново.

На всякий случай файлы лучше не удалять, а переместить куда-нибудь. Автор этой заметки сделал это вот так:

mkdir ~/pam_back && mv `qfile -o /etc/pam.d/*` ~/pam_back

Теперь можете обновиться:

emerge --oneshot sys-libs/pam

Затем обновите файлы конфигурации:

etc-update

Далее ищем файлы конфигурации pam, которые ссылаются на pam_stack.so:

grep -r pam_stack /etc/pam.d/|cut -d ":" -f1|sort|uniq

После чего в этих файлах все строки вида:

auth    required     pam_stack.so    service=system-auth

Нужно заменить на:

auth    include      system-auth

Всё. Теперь осталось перезапустить сервисы, использующие pam (ssh, pure-ftpd, samba и проч) и можно расслабиться.

Пара небольших замечаний:

  • Если ранее pam у вас был собран с флагом pam_chroot, то сейчас этот флаг не актуален и его функциональность вынесена в отдельный модуль - sys-auth/pam_chroot.
  • Если вы использовали ранее pam с флагом berkdb, то сейчас вам нужно собрать пакет sys-auth/pam_userdb.

Источники: [1] [2]

Ключевые слова: pam, gentoo.

Комментарии:

sungreen 2007-10-28 05:52:28 (#)

предупреждён - значит вооружён, спасибо

MooSE 2007-10-28 12:59:18 (#)

> предупреждён - значит вооружён, спасибо

не за что. можно сказать я описал свои собственные грабли:)
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE