Видео смотреть бесплатно

Смотреть молодые видео

Официальный сайт openclass 24/7/365

Смотреть видео бесплатно

WeLinux.ru

03.03.09 09:37oper777

0byteАвторизация с помощью Flash-накопителя

Подумал, что было бы неплохо использовать usb-flash (или SD-карту в ридере лэптопа) для авторизации на своих машинах без пароля. Сделать это оказалось очень просто.


Нужен пакет pam_usb, который скорее всего имеется в репозитории вашего дистрибутива.
Установим его.

Mandriva:
#urpmi pam_usb

Gentoo:
# echo "sys-auth/pam_usb" >> /etc/portage/package.keywords
# emerge -av ">=sys-auth/pam_usb-0.4.1"


Debian:
# apt-get install libpam-usb pamusb-tools

Из исходных кодов:
$ tar -zxvf pam_usb-<version>.tar.gz
$ cd pam_usb-<version>
$ make
# make install

Так же в процессе настройки понадобились пакеты python-dbus и pmount

#urpmi python-dbus pmount

После окончания установки подключаем USB-устройство (монтировать не надо) и используем pamusb-conf для добавления накопителя в конфигурационный файл:

# pamusb-conf --add-device usbkey
Please select the device you wish to add.
* Using "JetFlash TS2GJFV60 (XXXXXXXXXXXXXXXXXXXXXX)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sda1 (UUID: 4871-9E7D)" (only option)

Name : usbkey
Vendor : JetFlash
Model : TS2GJFV60
Serial : XXXXXXXXXXXXXXXXXXXXXX
UUID : 4871-9E7D

Save to /etc/pamusb.conf ?
[Y/n] y
Done.


Вместо usbkey можно написать что угодно.

Теперь нужно добавить пользователей.

# pamusb-conf --add-user root
Which device would you like to use for authentication ?
* Using "usbkey" (only option)

User : root
Device : usbkey

Save to /etc/pamusb.conf ?
[Y/n] y
Done.


Таким же образом можно добавить остальных пользователей.

Проверим правильность настроек:

#pamusb-check root
* Authentication request for user "root" (pamusb-check)
* Device "usbkey" is connected (good).
* Performing one time pad verification...
* Regenerating new pads...
* Access granted.


Далее необходимо настроить систему таким образом, чтобы она обращалась к usb-устройствам для авторизации пользователя, а при отсутствии таковых - запрашивала пароль. В зависимоти от операционной системы, нужные файлы называются по-разному. Найдите в каталоге /etc/pam.d/ файл common-auth (Ubuntu, Debian) или system-auth (Gentoo, Mandriva). Если этих файлов нет, то придется вносить изменения в конфигурационный файл каждого сервиса, для которого будет действовать авторизация по USB-устройству.

В этом файле найдите строчку, похожую на эту:

auth sufficient pam_unix.so try_first_pass likeauth nullok

или

auth required pam_unix.so nullok_secure

и добавьте перед ней следующую строчку:

auth sufficient pam_usb.so

Проверим:

$ su
* pam_usb v0.4.2
* Authentication request for user "root" (su)
* Device "usbkey" is connected (good).
* Performing one time pad verification...
* Access granted.


В документации сказано, что этого достаточно, однако у меня KDM не принимал USB-накопитель вместо пароля. Пришлось внести изменения и в /etc/pam.d/kde3. Нужно точно так же добавить строчку

auth sufficient /lib/security/pam_usb.so

Теперь можно пробовать в KDE заблокировать сеанс (Ctrl+Alt+L) и разблокировать нажатием Enter.

В пакете pam_usb есть еще один инструмент - pamusb-agent. Это постоянно работающая программа, выполняющая определенные действия при подключении и отключении USB-ключа. В следующем примере при извлечении накопителя сеанс блокируется и запускается заставка:

GNOME (gnome-screensaver):
<user id="yuri">
<device>MyDevice</device>
<agent event="lock">gnome-screensaver-command --lock</agent>
<agent event="unlock">gnome-screensaver-command --deactivate</agent>
</user>


KDE (kscreensaver):
<user id="yuri">
<device>MyDevice</device>
<agent event="lock">dcop kdesktop KScreensaverIface lock</agent>
<agent event="unlock">dcop kdesktop KScreensaverIface quit</agent>
</user>


Вы можете поставить туда любые другие команды. Теперь осталось сделать добавить pamusb-agent в автозагрузку:

GNOME:
System -> Preferences -> Sessions, выберите Startup Programs и нажмите Add, введите pamusb-agent и нажмите ОК. Нажмите Close.

KDE:
cd ~/.kde/Autostart && ln -s /usr/bin/pamusb-agent pamusb-agent
+13
LeniH03.03.09 09:52# +0
Интересная статья.

А во время загрузки можно сделать так если стоит флешка то грузиться, если же нет карты в ридере то он пишет нет ключа загрузки!
oper77703.03.09 10:25# +2
Может быть скажу ерунду, но первое, что пришло в голову - это переместить загрузчик (или initrd) с жесткого диска на флеш, тогда система просто не запустится.
l1feh4ck3r03.03.09 10:36# +5
Еще предложи весь /boot на флэшку кинуть ;)
xT03.03.09 11:24# +1
Если карты нету в ридере - то вообще ничего не писать =) для секюрности
l1feh4ck3r03.03.09 10:37# +0
Прикольная статья. Главное - может быть полезной в определенных кругах.
Jayrome03.03.09 10:41# +2
Оказывается, всё гораздо проще, чем я думал. :)
LeniH03.03.09 11:24# +0
просто иногда надо чтобы доступ к ноуту не имели даже чтобы он загружался)))

с boot разделом конечно удобно..

Надо будет попробывать!
xT03.03.09 11:39# +2
Перенести в How-to`s =)
exelens03.03.09 11:55# +1
Готово
dima_boh03.03.09 11:57# +0
Отлично! Спасибо за статью.
xcr03.03.09 13:44# +0
Спасибо, полезно.
Господа, а ни у кого ли не было такого:
# pamusb-check xcr
* Authentication request for user "xcr" (pamusb-check)
* Device "test2" is connected (good).
* Performing one time pad verification...
Error: device /dev/sdb1 is not removable
* Mount failed
* Access denied.
oper77703.03.09 15:18# +0
А просто в консоли pmount работает?

pmount /dev/sdb1

и потом

pumount /dev/sdb1

?
oper77703.03.09 15:26# +2
Нагуглил, что это ошибка в pmount, вернее даже в libsysfs2, которую использует pmount. Для её обхода можно внести в файл /etc/pmount.allow имя устройства, т.е.

/dev/sdb1
xcr03.03.09 15:54# +0
О, да, это оно. Спасибо!
Я тоже гуглил, но не нашел ничего..
Denis03.03.09 17:38# +1
Да, классная вещь. Недавно столкнулся, заодно и патчик для нее набросал.
Суть патча заключается в том, что он добавляет в конфиг опцию, при включении которой ключ (pad) на флешку пишется не каждый раз при вставливании ее или по истечению срока жизни ключа, а один раз (только если ключ не существует), тем самым уменьшая объем записи на флешку и, соответственно, продлевая ее жизнь. ;)

Если кого-нибудь заинтересует, то этот патч здесь: http://sourceforge.net/tracker/index.php?func=detail&aid=2634450&group_id=127530&atid=708790
zb04.03.09 17:41# +0
слишком много о себе думает утилита. а именно mmcblk0 в sysfs не считается removable, соответвенно и способа туда ключ сделать нету. так же не очень ясно требование обязательно держать раздел.
тогда как дураку понятно что можно и по просто наличию девайса проверять данные. в общем сделано неудобно, критерии плохие, я бы не стал ей доверять безопасность :)

ps:
sudo pamusb-conf --verbose --add-device keys
Inspecting /org/freedesktop/Hal/devices/pci_1180_822_mmc_host_mmc_card_rca55091_storage_mmc_sd_mmc
Invalid: Not a removable device

при любом раскладе.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии Изменения
      Изменения
        Посты Комментарии Изменения
        Top блогов (все)
        Топ пользователей Топ блогов
        Топ пользователей Топ блогов
        Top пользователей (все)
        Топ пользователей Топ блогов
        В сети: distruktor

        Новенькие: Psy_Nejumi303, cooler, devpalm, Rizz, xexexe
        welinux.ru
        Идея сайта exelens; Движок 0byte, разработчик nvbn; Дизайн - Astramak

        В хорошем качестве hd видео

        Онлайн видео бесплатно


        Смотреть русское с разговорами видео

        Online video HD

        Видео скачать на телефон

        Русские фильмы бесплатно

        Full HD video online

        Смотреть видео онлайн

        Смотреть HD видео бесплатно

        School смотреть онлайн