Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | Следующая версия Следующая версия справа и слева | ||
wiki:pam_usb [2012/12/27 14:20] [Ссылки] |
wiki:pam_usb [2012/12/27 15:52] |
||
---|---|---|---|
Строка 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]]) | |
- | Программа <<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> |
- | <code>… | + | В [[Ubuntu]] 12.10 эта строчка добавляется автоматически при установке PAM USB. Если этой строчки нет, то следует её дописать, обязательно перед строчками |
- | 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 | <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> | auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass</code> | ||
- | <note warning>Ошибки допущенные при редактировании этого файла могут навредить работе ОС. Обязательно сохраните оригинал этого файла перед редактированием</note> | + | <note warning>Ошибки допущенные при редактировании этого файла могут навредить работе ОС. Обязательно сохраните оригинал этого файла перед редактированием.</note> |
Параметр <<sufficient>> указывает, что наличия накопителя-ключа достаточно для аутентификации пользователя. | Параметр <<sufficient>> указывает, что наличия накопителя-ключа достаточно для аутентификации пользователя. | ||
- | <note warning>Это может быть не приемлемо если Ваш пользователь является администратором в ОС, т.к. при подключенном накопителе-ключе запроса пароля не будет и возможно выполнение вредоносного кода с правами корневого пользователя <<root>></note> | + | <note warning>Это может быть не приемлемо если Ваш пользователь является администратором в ОС, т.к. при подключенном накопителе-ключе запроса пароля не будет и возможно выполнение вредоносного кода с правами корневого пользователя <<root>>.</note> |
Если же <<sufficient>> заменить на <<required>> (<<обязательно, но не достаточно>>) | Если же <<sufficient>> заменить на <<required>> (<<обязательно, но не достаточно>>) | ||
<code>auth required pam_usb.so</code> | <code>auth required pam_usb.so</code> | ||
Строка 79: | Строка 69: | ||
Другой вариант <<optional>> (<<не обязательно>>) | Другой вариант <<optional>> (<<не обязательно>>) | ||
<code>auth optional pam_usb.so</code> | <code>auth optional pam_usb.so</code> | ||
- | сделает наличие накопителя-ключа необязательным условием аутентификации. Это целесообразно, если <<PAM USB>> планируется использовать только для блокировки/разблокировки рабочего стола. | + | сделает наличие накопителя-ключа необязательным условием аутентификации. Это целесообразно, если PAM USB планируется использовать только для блокирования/разблокирования рабочего стола. |
- | ===== Блокировка рабочего стола при отключении накопителя и наоборот ===== | + | ===== Блокирование рабочего стола при отключении накопителя и наоборот ===== |
- | + | Удобная возможность заблокировать рабочий стол изъятием накопителя-ключа и разблокирования при повторном подключении этого накопителя реализована посредством утилиты <<pamusb-agent>> входящей в комплект программного пакета PAM USB. Для начала необходимо открыть для редактирования файл ///etc/pamusb.conf// любым текстовым редактором, например | |
- | Удобная возможность заблокировать рабочий стол изъятием накопителя-ключа и разблокирования при повторном подключении этого накопителя реализована посредством утилиты <<pamusb-agent>> входящей в комплект программного пакета <<PAM USB>>. Для начала необходимо открыть для редактирования файл <</etc/pamusb.conf>>, например, командой в терминале | + | <code bash>sudo gedit /etc/pamusb.conf</code> где следует найти указание настроек для Вашего пользователя, которые записаны в виде |
- | <code>sudo gedit /etc/pamusb.conf</code> где следует найти указание настроек для Вашего пользователя, которые записаны в виде | + | <code xml>… |
- | <code> | + | |
- | … | + | |
<user id="USER"> | <user id="USER"> | ||
<device>Flash</device> | <device>Flash</device> | ||
</user> | </user> | ||
- | … | + | …</code> |
- | </code> | + | |
где вместо <<USER>> написано имя Вашего пользователя. И дополнить данный фрагмент в конфигурационном файле строчками | где вместо <<USER>> написано имя Вашего пользователя. И дополнить данный фрагмент в конфигурационном файле строчками | ||
- | <code> | + | <code xml> |
<agent event="lock">gnome-screensaver-command -l</agent> | <agent event="lock">gnome-screensaver-command -l</agent> | ||
<agent event="unlock">gnome-screensaver-command -d</agent> | <agent event="unlock">gnome-screensaver-command -d</agent> | ||
</code> | </code> | ||
до вида | до вида | ||
- | <code> | + | <code xml> |
… | … | ||
<user id="USER"> | <user id="USER"> | ||
Строка 109: | Строка 96: | ||
Далее запустить <<pamusb-agent>> командой | Далее запустить <<pamusb-agent>> командой | ||
- | <code>pamusb-agent</code> | + | <code bash>pamusb-agent</code> |
и проверить блокировку рабочего стола подключив и отключив накопитель-ключ. | и проверить блокировку рабочего стола подключив и отключив накопитель-ключ. | ||
- | Если все в порядке, то следует добавить <<pamusb-agent>> в автозапуск, например, открыв настройки командой | + | Если все в порядке, то следует добавить <<pamusb-agent>> в автозапуск, открыв из скиска программ //Автоматически запускаемые приложения// или выполнив команду |
- | <code>gnome-session-properties</code> | + | <code bash>gnome-session-properties</code> |
- | и добавив пункт <<pamusb-agent>> | + | и добавив пункт <<pamusb-agent>>. |
===== Решение проблем ===== | ===== Решение проблем ===== | ||
- | |||
Иногда может возникнуть ситуация, что разблокирования рабочего стола не происходит и при выполнении в терминале команды | Иногда может возникнуть ситуация, что разблокирования рабочего стола не происходит и при выполнении в терминале команды | ||
- | <code>pamusb-check $USER --debug</code> | + | <code bash>pamusb-check $USER --debug</code> |
появляется сообщение | появляется сообщение | ||
- | <code>… | + | <code>Pad checking failed</code> |
- | Pad checking failed | + | Возможное решение — удаление папки ///home/$USER/.pamusb// (см. [[http://sourceforge.net/mailarchive/forum.php?thread_name=48E40A38.40804%40gmail.com&forum_name=pamusb-devel|pam_usb Mail]]). Однако если проблема продолжает возникать, следует проверить все настройки. |
- | …</code> | + | |
- | возможное решение — удаление папки <</home/$USER/.pamusb>> (см. [[http://sourceforge.net/mailarchive/forum.php?thread_name=48E40A38.40804%40gmail.com&forum_name=pamusb-devel|pam_usb Mail]]). Однако если проблема продолжает возникать, следует проверить все настройки. | + | |
===== Ссылки ===== | ===== Ссылки ===== | ||
- | [[http://habrahabr.ru/company/xakep/blog/127384/|Инструкция на habrahabr.ru посвященная, в том числе, «PAM USB»]] | + | * [[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 Система Администрирование}} |