Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

sudo dnf update
sudo dnf install ccid opensc pcsc-tools p11-kit nss-tools python3-tkinter rpmdevtools libsss_sudo krb5-pkinit dialog openssl fedora-packager rpmdevtools gcc vim-common openssl-pkcs11 docbook-style-xsl openldap-devel openssl-devel pam-devel pcsc-lite-devel pkgconf automake autoconf git libtool

Загрузите модуль librtpkcs11ecp.so и установите:

sudo rpm -i librtpkcs11ecp-2.67.1.0-1.x86_64.rpm

Установка pam_pkcs11

Скачайте pam_pkcs11-X.Y.Z.tar.gz.

Далее, распакуйте архив и перейдите в распакованную папку.

Для этого необходимо выполнить следующие действия:

tar xvzf pam_pkcs11-X.Y.Z.tar.gzgit clone https://github.com/OpenSC/pam_pkcs11.git
cd pam_pkcs11-X.Y.Z

...


autoreconf -i
./configure --prefix=/usr/ && make && sudo make install

Для конфигурации pam_pkcs11 перенесите из разархивированной папки и папки etc файл pam_pkcs11.conf.example в папку создайте папки /etc/pam_pkcs11/pam_pkcs11.confСоздайте папки /etc/pam_pkcs11/crls /  и   /etc/pam_pkcs11/cacerts/ Убедиться, в наличии файла pam_pkcs11.so в папке  /usr/lib64/security

sudo mkdir /etc/pam_pkcs11

...

Если pam_pkcs11.so находится в /usr/lib/local/security/pam_pkcs11.so, необходимо его перенести.

...


sudo mkdir /etc/pam_pkcs11/crls
sudo mkdir /etc/pam_pkcs11/cacerts


После установки необходимых пакетов, вы можете воспользоваться Рутокен менеджером для упрощённой настройки.

Создание ключей и сертификатов

...

Настройка pam_pkcs11

Создайте (например, на рабочем столе) текстовый файл /etc/pam_pkcs11/pam_pkcs11.conf со следующим содержимым:

pam_pkcs11 {
  nullok = false;
  debug = false;
  use_first_pass = false;
  use_authtok = false;
  card_only = false;
  wait_for_card = false;
  use_pkcs11_module = rutokenecp;
 
  # Aktiv Rutoken ECP
  pkcs11_module rutokenecp {
    module = /usr/lib64/librtpkcs11ecp.so;
    slot_num = 0;
    support_thread = true;
    ca_dir = /etc/pam_pkcs11/cacerts;
    crl_dir = /etc/pam_pkcs11/crls;
    cert_policy = signature;
  }
 
  use_mappers = digest;
 
  mapper_search_path = /usr/lib64/pam_pkcs11;
 
  mapper digest {
   debug = false;
   module = internal;
   algorithm = "sha1";
   mapfile = file:///etc/pam_pkcs11/digest_mapping;
  }
 
}

...

cd /etc/pam_pkcs11/
 
sudo mv pam_pkcs11.conf pam_pkcs11.conf.default #резервное копирование
 
sudo cp /path/to/your/pam_pkcs11.conf /etc/pam_pkcs11/


Регистрация модуля для аутентификации в системе 

Подключите модуль к системе авторизации PAM:

sudo vim nano /etc/pam.d/system-auth
# Для входа по Рутокена на экране приветствия
sudo vim nano /etc/pam.d/password-auth


Перед первым использованием модуля pam_unix добавьте туда строку со следующим содержимым:

...

В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.

Убедиться, в наличии файла pkcs11_eventmgr в папке /usr/bin/pkcs11_eventmgr

Если pkcs11_eventmgr находится в  /usr/local/bin/pkcs11_eventmgr, необходимо его перенести.

...

sudo mv /usr/local/bin/pkcs11_eventmgr /usr/bin/

Для того, чтобы аутентификация корректно работала на лок скрине. В настройках pkcs11_eventmgr нужно указать название сервиса, использующегося при аутентификации через лок скрин, чтобы сделать его доверенным. У каждой графической оболочки свое название данного сервиса. Узнать название вашей графической оболочки можно с помощью команды:

...

После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузите компьютер.

Для этого создайте папку ~/.config/autostart. И в данной директории создайте файл ~/.config/autostart/smartcard-screensaver.desktop

sudo mkdir ~/.config/autostart

sudo nano ~/.config/autostart/smartcard-screensaver.desktop

Содержание файла smartcard-screensaver.desktop должно быть следующим:

[Desktop Entry]
Type=Application
Name=Smart Card Screensaver
Comment=Application to lock screen on smart card removal.
Exec=/usr/bin/pkcs11_eventmgr daemon

...