Dianna
Местный
- Сообщения
- 344
- Реакции
- 214
PAM USB – модуль для
Установка
Функционал программы поставляется в пакетах libpam-usb, pamusb-tools и их зависимостях. Установку можно произвести, например, выполнив с терминале команду:
Настройка
Для исправной работы PAM USB требуется, что бы пользователь, аутентификацию которого будет происходить посредством накопителя-ключа, был членом группы пользователей «plugdev». Добиться этого можно, например, командой в терминале:
для добавления текущего пользователя в группу. Если же требуется добавить другого пользователя, то $USER следует заменить на его имя (логин).
Указание накопителей-ключей
Далее, необходимо подключить накопитель который будет использован в качестве ключа и выполнить в терминале команду:
где $FLASH необходимо заменить на название «Flash»-накопителя которое будет использоваться для его обозначения в настройках «PAM USB», это может быть произвольная текстовая строка из букв и цифр. Если в данный момент подключено несколько накопителей, то программа выведет сообщение вида:
необходимо набрать номер подходящего «Flash»-накопителя и нажать Enter. Далее будет выведена информации о выбранном накопителе, подобного содержания:
если это подходящий накопитель, то следует ввести «y» («Yes» — подтверждение) и нажать Enter. Иначе ввести «n» и нажать Enter (или Ctrl+C) и повторить команду для другого накопителя. Информация о накопителе будет записана в файл /etc/pamusb.conf.
Сопоставление пользователей и накопителей-ключей
После того как добавлен накопитель-ключ, требуется указать для каких пользователей его использовать. Это производится выполнением команды в терминале:
для указания текущего пользователя, иначе $USER необходимо заменить на имя пользователя для которого будет использован данный накопитель-ключ. Будет выведен список ранее добавленных в конфигурацию PAM USB накопителей, следует выбрать требуемый.
Если все указано верно, то на запрос «Save to /etc/pamusb.conf ?» набрать «y» и нажать Enter (иначе «n» или Ctrl+C)
Проверка
Проверить исправность аутентификации пользователя по накопителю-ключу можно командой в терминале:
для текущего пользователя, иначе необходимо заменить $USER на имя другого пользователя. Если все пройдет успешно, будет выведено сообщение в конце:
в противном случае следует проверить настройки.
Системные настройки
Модуль PAM USB добавляет себя в стек аутентификации за счет строчки в файле /etc/pam.d/common-auth:
В Ubuntu 12.10 эта строчка добавляется автоматически при установке PAM USB. Если этой строчки нет, то следует её дописать, обязательно перед строчками:
Параметр «sufficient» указывает, что наличия накопителя-ключа достаточно для аутентификации пользователя.
Если же «sufficient» заменить на «required» («обязательно, но не достаточно»):
то войти в систему можно будет только при наличии подключенного накопителя-ключа и после ввода пароля. Другой вариант «optional» («не обязательно»):
сделает наличие накопителя-ключа необязательным условием аутентификации. Это целесообразно, если PAM USB планируется использовать только для блокирования/разблокирования рабочего стола.
Блокирование рабочего стола при отключении накопителя и наоборот
Удобная возможность заблокировать рабочий стол изъятием накопителя-ключа и разблокирования при повторном подключении этого накопителя реализована посредством утилиты «pamusb-agent» входящей в комплект программного пакета PAM USB. Для начала необходимо открыть для редактирования файл /etc/pamusb.conf любым текстовым редактором, например:
где следует найти указание настроек для Вашего пользователя, которые записаны в виде:
где вместо «USER» написано имя Вашего пользователя. И дополнить данный фрагмент в конфигурационном файле строчками:
до вида:
Далее запустить «pamusb-agent» командой:
и проверить блокировку рабочего стола подключив и отключив накопитель-ключ.
Если все в порядке, то следует добавить «pamusb-agent» в автозапуск, открыв из скиска программ Автоматически запускаемые приложения или выполнив команду:
и добавив пункт «pamusb-agent».
Решение проблем
Иногда может возникнуть ситуация, что разблокирования рабочего стола не происходит и при выполнении в терминале команды:
появляется сообщение
Возможное решение — удаление папки /home/$USER/.pamusb. Однако если проблема продолжает возникать, следует проверить все настройки.Если при выполнении команды:
появляется сообщение:
и при этом диск примонтирован в «Nautilus», то, вероятно, проблема в том, что ОС монтирует диск раньше «PAM USB» и как результат, «PAM USB» не может его примонтирован еще раз. Возможное решение — пожертвовать автомонтированием в пользу «PAM USB». Отключить автомонтирование для оболочек рабочего стола «Gnome» и «Unity» можно командой (см.
P.S. Для пользователей windows как всегда существует готовое решение - программа
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
предоставляющий возможность аутентификации пользователя в ОС посредством «Flash»-накопителя в качестве ключа. Также он предоставляет функционал по блокированию/разблокированию рабочего стола пользователя при отключении/подключении накопителя-ключа. Для идентификации накопителя используется информация заложенная производителем и временные данные, которые записываются на этот накопитель, так что, даже при наличии накопителя с полностью идентичными данными производителя, аутентификация пользователя не произойдет.Установка
Функционал программы поставляется в пакетах libpam-usb, pamusb-tools и их зависимостях. Установку можно произвести, например, выполнив с терминале команду:
Код:
sudo apt install libpam-usb pamusb-tools
Настройка
Для исправной работы PAM USB требуется, что бы пользователь, аутентификацию которого будет происходить посредством накопителя-ключа, был членом группы пользователей «plugdev». Добиться этого можно, например, командой в терминале:
Код:
sudo adduser $USER plugdev
для добавления текущего пользователя в группу. Если же требуется добавить другого пользователя, то $USER следует заменить на его имя (логин).
Указание накопителей-ключей
Далее, необходимо подключить накопитель который будет использован в качестве ключа и выполнить в терминале команду:
Код:
sudo pamusb-conf --add-device $FLASH
где $FLASH необходимо заменить на название «Flash»-накопителя которое будет использоваться для его обозначения в настройках «PAM USB», это может быть произвольная текстовая строка из букв и цифр. Если в данный момент подключено несколько накопителей, то программа выведет сообщение вида:
Код:
Please select the device you wish to add.
0) USB DISK (1234567890ABCDFE)
1) USB Flash (ABCDEF1234567890)
[0-1]:
необходимо набрать номер подходящего «Flash»-накопителя и нажать Enter. Далее будет выведена информации о выбранном накопителе, подобного содержания:
Код:
Which volume would you like to use for storing data ?
* Using "/dev/sdh1 (UUID: 1234567890ABCDFE)" (only option)
Name : MyFlash
Vendor : Unknown
Model : USB DISK
Serial : 0987654321
UUID : 1234567890ABCDFE
Save to /etc/pamusb.conf ?
[Y/n]
если это подходящий накопитель, то следует ввести «y» («Yes» — подтверждение) и нажать Enter. Иначе ввести «n» и нажать Enter (или Ctrl+C) и повторить команду для другого накопителя. Информация о накопителе будет записана в файл /etc/pamusb.conf.
Сопоставление пользователей и накопителей-ключей
После того как добавлен накопитель-ключ, требуется указать для каких пользователей его использовать. Это производится выполнением команды в терминале:
Код:
sudo pamusb-conf --add-user $USER
для указания текущего пользователя, иначе $USER необходимо заменить на имя пользователя для которого будет использован данный накопитель-ключ. Будет выведен список ранее добавленных в конфигурацию PAM USB накопителей, следует выбрать требуемый.
Для одного пользователя может использоваться только один ключ-накопитель, однако один накопитель может быть ключом для нескольких пользователей.
Если все указано верно, то на запрос «Save to /etc/pamusb.conf ?» набрать «y» и нажать Enter (иначе «n» или Ctrl+C)
Проверка
Проверить исправность аутентификации пользователя по накопителю-ключу можно командой в терминале:
Код:
pamusb-check $USER --debug
для текущего пользователя, иначе необходимо заменить $USER на имя другого пользователя. Если все пройдет успешно, будет выведено сообщение в конце:
Код:
* Access granted.
в противном случае следует проверить настройки.
Системные настройки
Модуль PAM USB добавляет себя в стек аутентификации за счет строчки в файле /etc/pam.d/common-auth:
Код:
auth sufficient pam_usb.so
В Ubuntu 12.10 эта строчка добавляется автоматически при установке PAM USB. Если этой строчки нет, то следует её дописать, обязательно перед строчками:
Код:
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
Ошибки допущенные при редактировании этого файла могут навредить работе ОС. Обязательно сохраните оригинал этого файла перед редактированием.
Параметр «sufficient» указывает, что наличия накопителя-ключа достаточно для аутентификации пользователя.
Это может быть не приемлемо если Ваш пользователь является администратором в ОС, т.к. при подключенном накопителе-ключе запроса пароля не будет и возможно выполнение вредоносного кода с правами корневого пользователя «root».
Если же «sufficient» заменить на «required» («обязательно, но не достаточно»):
Код:
auth required pam_usb.so
то войти в систему можно будет только при наличии подключенного накопителя-ключа и после ввода пароля. Другой вариант «optional» («не обязательно»):
Код:
auth optional pam_usb.so
сделает наличие накопителя-ключа необязательным условием аутентификации. Это целесообразно, если PAM USB планируется использовать только для блокирования/разблокирования рабочего стола.
Блокирование рабочего стола при отключении накопителя и наоборот
Удобная возможность заблокировать рабочий стол изъятием накопителя-ключа и разблокирования при повторном подключении этого накопителя реализована посредством утилиты «pamusb-agent» входящей в комплект программного пакета PAM USB. Для начала необходимо открыть для редактирования файл /etc/pamusb.conf любым текстовым редактором, например:
Код:
sudo gedit /etc/pamusb.conf
где следует найти указание настроек для Вашего пользователя, которые записаны в виде:
Код:
…
<user id="USER">
<device>Flash</device>
</user>
…
где вместо «USER» написано имя Вашего пользователя. И дополнить данный фрагмент в конфигурационном файле строчками:
Код:
<agent event="lock">gnome-screensaver-command -l</agent>
<agent event="unlock">gnome-screensaver-command -d</agent>
до вида:
Код:
…
<user id="USER">
<device>Flash</device>
<agent event="lock">gnome-screensaver-command -l</agent>
<agent event="unlock">gnome-screensaver-command -d</agent>
</user>
…
Далее запустить «pamusb-agent» командой:
Код:
pamusb-agent
и проверить блокировку рабочего стола подключив и отключив накопитель-ключ.
Если все в порядке, то следует добавить «pamusb-agent» в автозапуск, открыв из скиска программ Автоматически запускаемые приложения или выполнив команду:
Код:
gnome-session-properties
и добавив пункт «pamusb-agent».
Решение проблем
Иногда может возникнуть ситуация, что разблокирования рабочего стола не происходит и при выполнении в терминале команды:
Код:
pamusb-check $USER --debug
появляется сообщение
Код:
Pad checking failed
Возможное решение — удаление папки /home/$USER/.pamusb. Однако если проблема продолжает возникать, следует проверить все настройки.Если при выполнении команды:
Код:
pamusb-check $USER --debug
появляется сообщение:
Код:
… Device is already mounted …
и при этом диск примонтирован в «Nautilus», то, вероятно, проблема в том, что ОС монтирует диск раньше «PAM USB» и как результат, «PAM USB» не может его примонтирован еще раз. Возможное решение — пожертвовать автомонтированием в пользу «PAM USB». Отключить автомонтирование для оболочек рабочего стола «Gnome» и «Unity» можно командой (см.
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
):
Код:
gsettings set org.gnome.desktop.media-handling automount false
P.S. Для пользователей windows как всегда существует готовое решение - программа
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
.