PAM USB Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:pam_usb [2012/12/27 12:49]
avi9526avi9526avi9526ахтыжъёшкинкот создано
wiki:pam_usb [2013/01/08 15:58] (текущий)
ZwSZwSZwS [Решение проблем]
Строка 1: Строка 1:
 ====== PAM USB ====== ====== PAM USB ======
- +**PAM USB** -- модуль для [[PAM]] ​предоставляющий возможность ​аутентификации пользователя в ОС посредством <<​Flash>>​-накопителя в качестве ключа. Также ​он предоставляет функционал по блокированию/​разблокированию ​рабочего стола пользователя при ​отключении/​подключении накопителя-ключа. Для идентификации накопителя используется информация заложенная производителем и временные данные,​ которые записываются на этот накопитель,​ так что, даже при наличии накопителя с полностью идентичными данными производителя,​ аутентификация пользователя не произойдет.
-Данная программа ​предназначена для ​аутентификации пользователя в ОС посредством <<​Flash>>​-накопителя в качестве ключа. Также предоставляет функционал по блокировке/​разблокировке рабочего стола пользователя при ​изъятии/​подключении накопителя-ключа. Для идентификации накопителя используется информация заложенная производителем и временные данные,​ которые записываются на этот накопитель,​ так что, даже при наличии накопителя с полностью идентичными данными производителя,​ аутентификация пользователя не произойдет.+
  
 <note important>​Не имеется достаточно информации по безопасности данного метода аутентификации</​note>​ <note important>​Не имеется достаточно информации по безопасности данного метода аутентификации</​note>​
  
 ===== Установка ===== ===== Установка =====
- +Функционал программы поставляется в пакетах ​''​libpam-usb''​''​pamusb-tools'' ​и их зависимостях. Установку можно произвести,​ например,​ выполнив с терминале команду 
-Функционал программы поставляется в пакетах ​<<libpam-usb>><<pamusb-tools>> ​и их зависимостях. Установку можно произвести,​ например,​ выполнив с терминале команду +<​code ​bash>sudo apt-get install libpam-usb pamusb-tools</​code>​
-<​code>​sudo apt-get install libpam-usb pamusb-tools</​code>​+
  
 ===== Настройка ===== ===== Настройка =====
- +Для исправной работы ​PAM USB требуется,​ что бы пользователь,​ аутентификацию которого будет происходить посредством накопителя-ключа,​ был членом группы пользователей <<​plugdev>>​ (см. [[http://​manpages.ubuntu.com/​manpages/​precise/​en/​man1/​pmount.1.html|man pmount]]). Добиться этого можно, например,​ командой в терминале 
-Для исправной работы ​программы «PAM USB» требуется,​ что бы пользователь,​ аутентификацию которого будет происходить посредством накопителя-ключа,​ был членом группы пользователей <<​plugdev>>​ (см. [[http://​manpages.ubuntu.com/​manpages/​precise/​en/​man1/​pmount.1.html|map pmount]]). Добиться этого можно, например,​ командой в терминале +<​code ​bash>sudo adduser $USER plugdev</​code>​ 
-<​code>​sudo adduser $USER plugdev</​code>​ +для добавления текущего пользователя в группу. Если же требуется добавить другого пользователя,​ то ''​$USER'' ​следует заменить на его имя (логин).
-для добавления текущего пользователя в группу. Если же требуется добавить другого пользователя,​ то <<$USER>> ​следует заменить на его имя (логин).+
  
 ==== Указание накопителей-ключей ==== ==== Указание накопителей-ключей ====
- 
- 
 Далее, необходимо подключить накопитель который будет использован в качестве ключа и выполнить в терминале команду Далее, необходимо подключить накопитель который будет использован в качестве ключа и выполнить в терминале команду
-<​code>​sudo pamusb-conf --add-device $FLASH</​code>​ +<​code ​bash>sudo pamusb-conf --add-device $FLASH</​code>​ 
-где ​<<$FLASH>> ​необходимо заменить на название <<​Flash>>​-накопителя которое будет использоваться для его обозначения в настройках <<PAM USB>>,​ это может быть произвольная текстовая строка из букв и цифр.+где ​''​$FLASH'' ​необходимо заменить на название <<​Flash>>​-накопителя которое будет использоваться для его обозначения в настройках <<PAM USB>>,​ это может быть произвольная текстовая строка из букв и цифр.
 Если в данный момент подключено несколько накопителей,​ то программа выведет сообщение вида Если в данный момент подключено несколько накопителей,​ то программа выведет сообщение вида
 <​code>​Please select the device you wish to add. <​code>​Please select the device you wish to add.
Строка 42: Строка 37:
 [Y/n]  [Y/n] 
 </​code>​ </​code>​
-если это подходящий накопитель,​ то следует ввести <<​y>>​ (<<​Yes>>​ — подтверждение) и нажать <​key>​enter</​key>​. Иначе ввести <<​n>>​ и нажать <​key>​enter</​key>​ (или <​key>​C-c</​key>​) и повторить команду для другого накопителя. Информация о накопителе будет записана в файл ​<</​etc/​pamusb.conf>> ​(см. [[https://​github.com/​aluzzardi/​pam_usb/​wiki/​Getting-Started|Getting Started]]).+если это подходящий накопитель,​ то следует ввести <<​y>>​ (<<​Yes>>​ — подтверждение) и нажать <​key>​enter</​key>​. Иначе ввести <<​n>>​ и нажать <​key>​enter</​key>​ (или <​key>​C-c</​key>​) и повторить команду для другого накопителя. Информация о накопителе будет записана в файл ​///​etc/​pamusb.conf// (см. [[https://​github.com/​aluzzardi/​pam_usb/​wiki/​Getting-Started|Getting Started]]).
  
 ==== Сопоставление пользователей и накопителей-ключей ==== ==== Сопоставление пользователей и накопителей-ключей ====
- 
 После того как добавлен накопитель-ключ,​ требуется указать для каких пользователей его использовать. Это производится выполнением команды в терминале После того как добавлен накопитель-ключ,​ требуется указать для каких пользователей его использовать. Это производится выполнением команды в терминале
-<​code>​sudo pamusb-conf --add-user $USER</​code>​ +<​code ​bash>sudo pamusb-conf --add-user $USER</​code>​ 
-для указания текущего пользователя,​ иначе ​<<$USER>> ​необходимо заменить на имя пользователя для которого будет использован данный накопитель-ключ. +для указания текущего пользователя,​ иначе ​''​$USER'' ​необходимо заменить на имя пользователя для которого будет использован данный накопитель-ключ. 
-Будет выведен список ранее добавленных в конфигурацию ​<<PAM USB>> ​накопителей,​ следует выбрать требуемый. +Будет выведен список ранее добавленных в конфигурацию PAM USB накопителей,​ следует выбрать требуемый. 
-<​note>​Для одного пользователя может использоваться только один ключ-накопитель,​ однако один накопитель может быть ключом для нескольких пользователей</​note>​ +<​note>​Для одного пользователя может использоваться только один ключ-накопитель,​ однако один накопитель может быть ключом для нескольких пользователей.</​note>​ 
-И если все указано верно, то на запрос <<​Save to /​etc/​pamusb.conf ?>> набрать <<​y>>​ и нажать <​key>​enter</​key>​ (иначе <<​n>>​ или <​key>​C-c</​key>​)+Если все указано верно, то на запрос <<​Save to /​etc/​pamusb.conf ?>> набрать <<​y>>​ и нажать <​key>​enter</​key>​ (иначе <<​n>>​ или <​key>​C-c</​key>​)
  
 ==== Проверка ==== ==== Проверка ====
- 
 Проверить исправность аутентификации пользователя по накопителю-ключу можно командой в терминале Проверить исправность аутентификации пользователя по накопителю-ключу можно командой в терминале
-<​code>​pamusb-check $USER --debug</​code>​ +<​code ​bash>​pamusb-check $USER --debug</​code>​ 
-для текущего пользователя,​ иначе необходимо заменить ​<<$USER>> ​на имя другого пользователя.+для текущего пользователя,​ иначе необходимо заменить ​''​$USER'' ​на имя другого пользователя.
 Если все пройдет успешно,​ будет выведено сообщение в конце Если все пройдет успешно,​ будет выведено сообщение в конце
 <​code>​* Access granted.</​code>​ <​code>​* Access granted.</​code>​
Строка 63: Строка 56:
  
 ===== Системные настройки ===== ===== Системные настройки =====
 +Модуль PAM USB добавляет себя в стек аутентификации за счет строчки в файле ///​etc/​pam.d/​common-auth//​ (см. [[http://​www.rjsystems.nl/​en/​2100-pam-debian.php|PAM configuration guide for Debian]])
 +<​code>​auth sufficient ​         pam_usb.so</​code>​
 +В [[Ubuntu]] 12.10 эта строчка добавляется автоматически при установке PAM USB. Если этой строчки нет, то следует её дописать,​ обязательно перед строчками
 +<​code>​auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
 +auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass</​code>​
 +<note warning>​Ошибки допущенные при редактировании этого файла могут навредить работе ОС. Обязательно сохраните оригинал этого файла перед редактированием.</​note>​
 +Параметр <<​sufficient>>​ указывает,​ что наличия накопителя-ключа достаточно для аутентификации пользователя.
 +<note warning>​Это может быть не приемлемо если Ваш пользователь является администратором в ОС, т.к. при подключенном накопителе-ключе запроса пароля не будет и возможно выполнение вредоносного кода с правами корневого пользователя <<​root>>​.</​note>​
 +Если же <<​sufficient>>​ заменить на <<​required>>​ (<<​обязательно,​ но не достаточно>>​)
 +<​code>​auth required ​         pam_usb.so</​code>​
 +то войти в систему можно будет только при наличии подключенного накопителя-ключа и после ввода пароля.
 +Другой вариант <<​optional>>​ (<<​не обязательно>>​)
 +<​code>​auth optional ​         pam_usb.so</​code>​
 +сделает наличие накопителя-ключа необязательным условием аутентификации. Это целесообразно,​ если PAM USB планируется использовать только для блокирования/​разблокирования рабочего стола.
  
-FIXME продолжить +===== Блокирование рабочего стола ​при отключении накопителя и наоборот ===== 
 +Удобная возможность заблокировать рабочий стол изъятием накопителя-ключа и разблокирования при повторном подключении этого накопителя реализована посредством утилиты <<​pamusb-agent>>​ входящей в комплект программного пакета PAM USB. Для начала необходимо открыть для редактирования файл ///​etc/​pamusb.conf//​ любым текстовым редактором,​ например 
 +<code bash>​sudo gedit /​etc/​pamusb.conf</​code>​ где следует найти указание настроек для Вашего пользователя,​ которые записаны в виде 
 +<code xml>​… 
 +<user id="​USER">​ 
 + <​device>​Flash</​device>​ 
 +</​user>​ 
 +…</​code>​ 
 +где вместо <<​USER>>​ написано имя Вашего пользователя. И дополнить данный фрагмент в конфигурационном файле строчками 
 +<code xml> 
 +<agent event="​lock">​gnome-screensaver-command -l</​agent>​ 
 +<agent event="​unlock">​gnome-screensaver-command -d</​agent>​ 
 +</​code>​ 
 +до вида 
 +<code xml> 
 +… 
 +<user id="​USER">​ 
 + <​device>​Flash</​device>​ 
 + <agent event="​lock">​gnome-screensaver-command -l</​agent>​ 
 + <agent event="​unlock">​gnome-screensaver-command -d</​agent>​ 
 +</​user>​ 
 + 
 +</​code>​
  
 +Далее запустить <<​pamusb-agent>>​ командой
 +<code bash>​pamusb-agent</​code>​
 +и проверить блокировку рабочего стола подключив и отключив накопитель-ключ.
  
 +Если все в порядке,​ то следует добавить <<​pamusb-agent>>​ в автозапуск,​ открыв из скиска программ //​Автоматически запускаемые приложения//​ или выполнив команду
 +<code bash>​gnome-session-properties</​code>​
 +и добавив пункт <<​pamusb-agent>>​.
  
 +===== Решение проблем =====
 +  ** Иногда может возникнуть ситуация,​ что разблокирования рабочего стола не происходит и при выполнении в терминале команды
 +  .. <code bash>​pamusb-check $USER --debug</​code>​
 +  .. появляется сообщение
 +  .. <​code>​Pad checking failed</​code>​
 +  .. Возможное решение — удаление папки ///​home/​$USER/​.pamusb//​ (см. [[http://​sourceforge.net/​mailarchive/​forum.php?​thread_name=48E40A38.40804%40gmail.com&​forum_name=pamusb-devel|pam_usb Mail]]). Однако если проблема продолжает возникать,​ следует проверить все настройки.
 +  ** Если при выполнении команды
 +  .. <code bash>​pamusb-check $USER --debug</​code>​
 +  .. появляется сообщение
 +  .. <​code>​… Device is already mounted …</​code>​
 +  .. и при этом диск примонтирован в «Nautilus»,​ то, вероятно,​ проблема в том, что ОС монтирует диск раньше «PAM USB» и как результат,​ «PAM USB» не может его примонтирован еще раз. Возможное решение — пожертвовать автомонтированием в пользу «PAM USB». Отключить автомонтирование для оболочек рабочего стола «Gnome» и «Unity» можно командой (см. [[http://​askubuntu.com/​a/​102601|How to disable automount]])
 +  .. <code bash>​gsettings set org.gnome.desktop.media-handling automount false</​code>​
 ===== Ссылки ===== ===== Ссылки =====
 +  * [[http://​habrahabr.ru/​company/​xakep/​blog/​127384/​|Инструкция на habrahabr.ru посвященная,​ в том числе, «PAM USB»]]
 +  * [[http://​forum.ubuntu.ru/​index.php?​topic=210107|Обсуждение статьи на форуме]]
  
  
- +{{tag>​pam_usb ​Система Администрирование}}
-{{tag>​pam_usb}} +