PAM USB

Статус
В этой теме нельзя размещать новые ответы.

Dianna

Местный
Сообщения
344
Реакции
214
PAM USB – модуль для предоставляющий возможность аутентификации пользователя в ОС посредством «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 как всегда существует готовое решение - программа .
 
PAM USB – модуль для предоставляющий возможность аутентификации пользователя в ОС посредством «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» указывает, что наличия накопителя-ключа достаточно для аутентификации пользователя.



Если же «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 как всегда существует готовое решение - программа .
маааааааааааам! тётя дианна непонятные слова пишет!!!
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Linux (ОС Qubes): Система/внутренний SSD-накопитель: Как и в других дистрибутивах Linux, на большинстве SSD-накопителей должно быть достаточно обычного удаления и обрезки. Так что просто навсегда удалите файл (и очистите любую корзину), и его нельзя будет восстановить из-за периодических...
Ответы
2
Просмотры
683
: Хост-ОС Windows Как упоминалось ранее, мы не рекомендуем использовать ваш ежедневный ноутбук для важных дел. Или, по крайней мере, мы не рекомендуем использовать для них установленную на месте ОС. Это может привести к нежелательным утечкам данных, которые могут быть использованы для вашей...
Ответы
3
Просмотры
863
Инструкция установки Ubuntu Desktop 20.04.4 (64-bit) Скачиваем образ UBUNTU Далее берем любую флешку на ≥8GB, делаем из нее загрузочную флешку --------------------------------------------------------------------------------------------------------------------------------------------------...
Ответы
10
Просмотры
Здесь будет лог лекции "Шифрование данных в Linux. Алгоритмы и сценарии использования" от 17.03.23
Ответы
7
Просмотры
  • Закрыта
Linux Kodachi — операционная система, которая базируется на Debian 8.6, предоставит вам надежную, контр криминалистическую и анонимную операционную систему, учитывающую все особенности, в которых будет нуждаться человек, беспокоящийся о своей конфиденциальности, чтобы оставаться в безопасности...
Ответы
7
Просмотры
Назад
Сверху Снизу