Подробный гайд: Автоблокировка экрана по PIN-коду Рутокен в РЕД ОС (MATE) через pkcs11 - Часть 2

Подробный гайд по настройке автоблокировки экрана и аутентификации по PIN-коду Рутокен в РЕД ОС (MATE) через pkcs11_eventmgr и PAM.

2026.11.02                  


Подробный гайд: Автоблокировка экрана по PIN-коду Рутокен в РЕД ОС (MATE) через pkcs11 - Часть 2Подробный гайд: Автоблокировка экрана по PIN-коду Рутокен в РЕД ОС (MATE) через pkcs11 - Часть 2

6. Сопоставление сертификата Рутокен с пользователем

Чтобы система понимала, что сертификат на Рутокене принадлежит именно вашему пользователю, используется файл сопоставления.

Обычно это:

/etc/pam_pkcs11/card_mapping.conf

Создайте или откройте файл:

sudo nano /etc/pam_pkcs11/card_mapping.conf

Пример:

# /etc/pam_pkcs11/card_mapping.conf

# Формат:
# subject = "subject сертификата"; user = "логин_пользователя";

subject = "/C=RU/O=Example/CN=Ivanov Ivan Ivanovich"; user = iivanov;


Замените:

  • subject = "..." на реальный subject вашего сертификата;
  • user = ... на ваш реальный логин в РЕД ОС.

Проверить свой логин можно командой:

id -un

Если пользователей несколько, можно добавить несколько строк:

subject = "/C=RU/O=Example/CN=Ivanov Ivan Ivanovich"; user = iivanov;
subject = "/C=RU/O=Example/CN=Petrov Petr Petrovich"; user = ppetrov;

Права:

sudo chown root:root /etc/pam_pkcs11/card_mapping.conf
sudo chmod 644 /etc/pam_pkcs11/card_mapping.conf

Если у вас уже работает вход в систему по Рутокену, этот файл, скорее всего, уже настроен.


7. Самая вероятная причина вашей проблемы: не настроен PAM для mate-screensaver

Проверьте, есть ли файл:

ls -l /etc/pam.d/mate-screensaver

Если файла нет, посмотрите, есть ли альтернативные:

ls -l /etc/pam.d/screensaver /etc/pam.d/xscreensaver /etc/pam.d/light-locker

Посмотрите содержимое:

cat /etc/pam.d/mate-screensaver

Часто исходный файл выглядит примерно так:

#%PAM-1.0
auth include password-auth
account include password-auth
password include password-auth
session include password-auth

Или так:

#%PAM-1.0
auth include system-auth
account include system-auth
password include system-auth
session include system-auth

Ваша задача — добавить pam_pkcs11.so до include ....

Откройте файл:

sudo nano /etc/pam.d/mate-screensaver

Рабочий вариант с сохранением возможности входа по паролю:

#%PAM-1.0
auth sufficient pam_pkcs11.so
auth include password-auth

account include password-auth
password include password-auth
session include password-auth

Если в вашей системе в исходном файле используется не password-auth, а system-auth, используйте его:

#%PAM-1.0
auth sufficient pam_pkcs11.so
auth include system-auth

account include system-auth
password include system-auth
session include system-auth

Если PAM не находит модуль по короткому имени, укажите полный путь:

auth sufficient /usr/lib64/security/pam_pkcs11.so

Полный вариант:

#%PAM-1.0
auth sufficient /usr/lib64/security/pam_pkcs11.so
auth include password-auth

account include password-auth
password include password-auth
session include password-auth

Что делает эта конфигурация

Строка:

auth sufficient pam_pkcs11.so

Означает:

  • если Рутокен вставлен и PIN введён правильно — доступ разрешается;
  • если модуль не смог аутентифицировать по токену, PAM переходит к следующей строке;
  • дальше остаётся обычная аутентификация по паролю через password-auth.

То есть вы получаете схему:

  • токен есть + правильный PIN → разблокировка по PIN;
  • токена нет или PIN не принят → можно разблокировать паролем.

8. Временная отладка PAM

Для диагностики можно временно добавить параметр debug:

auth sufficient pam_pkcs11.so debug

Пример:

#%PAM-1.0
auth sufficient pam_pkcs11.so debug
auth include password-auth

account include password-auth
password include password-auth
session include password-auth

Затем заблокируйте экран:

mate-screensaver-command --lock

Попробуйте разблокировать по Рутокену.

После этого в другом терминале или в текстовой консоли посмотрите:

sudo tail -n 100 /var/log/secure

или:

sudo tail -f /var/log/secure

Ищите строки со словами:

pam_pkcs11
mate-screensaver
auth

После проверки можно убрать debug, чтобы не писать лишние сведения в лог.


9. Если используется authselect

В РЕД ОС и других RHEL-подобных системах PAM-файлы могут управляться через authselect.

Проверьте:

authselect list

Если система использует authselect, не редактируйте вручную файлы вроде:



/etc/pam.d/password-auth
/etc/pam.d/system-auth

Иначе изменения могут быть перезаписаны.

Но отдельный файл:

/etc/pam.d/mate-screensaver

обычно можно редактировать вручную.

Если в вашем authselect есть функция поддержки pam_pkcs11, можно попробовать:

sudo authselect enable-feature with-pam-pkcs11
sudo authselect apply-changes

Если команда сообщает, что такой функции нет, ничего страшного — используйте ручную настройку сервисного файла mate-screensaver.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта