Weryfikacja użytkownika PenDrivem

Earth
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 19 wrz 2006, 16:46
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Weryfikacja użytkownika PenDrivem

Post autor: Earth »

W tym How-to opisze jak można skonfigurować Ubuntu, żeby do logowania wykorzystał PenDrive USB.

Na tym forum znajdują się już dwa podobne How-to, ale uważam że każdemu coś brakuje. Jeden jest nieaktualny, natomiast drugi można było by uprościć do mniejszej ilości kroków.

Już nigdy więcej przy logowaniu i innych czynnościach wymagających autoidentyfikacji nie będzie musieli wklepywać hasła, ani przy logowaniu w terminalach, ani w graficznym menadżerze logowania, ani przy nadawaniu programom sesji sudo. Wystarczy że podłączymy PenDrive do PC, wpiszemy login użytkownika, system sam sprawdzi czy klucze z PenDrive są poprawne dla danego użytkownika, na koniec automatycznie nas zaloguje. W przypadku gdy nie podepniemy PenDrive zostaniemy jak zawsze zapytani o hasło.

Sposób ten można wykorzystać na domowym pececie, zwłaszcza gdy ktoś lubi się bawić się terminalem, a wpisanie su jest już naszym nawykiem i doprowadza nas do bólu głowy:?. Można wykorzystać go także w firmie, gdzie przy jednym komputerze pracuje kilka osób. Każdy pracownik otrzymuje pamięć Flash, przychodzi do pracy podłącza ją, a gdy wchodzi wyjmuje z PC, który automatycznie blokuje się. Może wy znajdzie lepsze zastosowania.:p

Przeczytaj jeszcze poniższą informację i możesz zabierać się do pracy:
UWAGA!! to how-to opisuje zmianę sposobu logowania! Jeżeli zrobisz coś nie tak, możesz utracić dostęp do systemu. Nie biorę żadnej odpowiedzialność za szkody jakie mogą powstać po wykonaniu tego how-to.

1.Przygotowanie PenDrive
Zaczniemy od stworzenia na PenDrivie odpowiedniej partycji, na której będziemy przechowywać klucze niezbędne do autoryzacji. Zalecam wykorzystać program gparted.

1. Robimy backup PenDrive. Tylko prawdziwi twardziele pomijają ten krok.:P
2. Uruchamiamy program gparted. W prawym górnym rogu okna, na liście rozwijanej wybieramy naszego PenDrive. W moim przypadku jest to urządzenie sdb.
3. Usuwamy wszystkie partycje.
4. Tworzymy jak najmniejszą, niesformatowaną partycje na końcu paska ("Ctrl+L").
5. Zapamiętujemy jej nazwę gdyż będzie nam potem potrzebna. W moim przypadku jest to sdb1.
6. Resztę miejsca wykorzystujemy na jeszcze jedną partycję. Formatujemy ją w systemie FAT32.
7. Po tych krokach u mnie wygląda to mniej więcej tak:
ObrazekObrazek
Ważne żeby partycja FAT32 była pierwsza, gdyż inaczej system Windows jej nie zobaczy.
8. Teraz klikamy "Zastosuj".

2.Instalacja libpam-usb
Zakładam że masz aktualne repozytoria. Odpalamy terminal i instalujemy 2 wymagane pakiety:

Kod: Zaznacz cały

sudo apt-get install libpam-usb pamusb-tools
3.Konfiguracja libpam-usb
Teraz skonfigurujemy plik konfiguracyjny libpam-usb za pomocą programu pamusb-conf z paczki pamusb-tools.

Zaczniemy od dodania naszego PenDrive do pliku konfiguracyjnego za pomocą komendy --add-device. Dalej wstawiamy wymyśloną nazwę dla naszego PenDrive.

Kod: Zaznacz cały

sudo pamusb-conf --add-device MyDevice
Podczas wykonywania tego polecenia zostaniemy zapytani:

Kod: Zaznacz cały

Which volume would you like to use for storing data ?
0) /dev/sdb2 (UUID: )
1) /dev/sdb1 (UUID: )
Należy tu wybrać naszą mała, niesformatowaną partycję. W moim przypadku jest to 1.
Przy następnym zapytaniu "y".

Teraz dodamy użytkowników --add-user. Do jednego PenDrive możemy przypisać kilku użytkowników.

Ja dodam dwóch root i gregorio.

Kod: Zaznacz cały

sudo pamusb-conf --add-user root
sudo pamusb-conf --add-user gregorio
Zatwierdzamy "y".

Teraz czas na test, sprawdzamy czy konfiguracja powiodła się. Oczywiście zamiast root wstawiamy naszego dodanego użytkownika.

Kod: Zaznacz cały

pamusb-check root
Powinno ukazać się:

Kod: Zaznacz cały

* Authentication request for user "root" (pamusb-check)
* Device "MyDevice" is connected (good).
* Access granted.
Jeżeli pojawiło się coś innego to znaczy że źle coś skonfigurowałeś i niestety musisz przejrzeć to How-to jeszcze raz.

Teraz edytujemy PAM aby korzystał z naszego skonfigurowanego modułu.

Kod: Zaznacz cały

sudo gedit /etc/pam.d/common-auth

Po dużym komentarzu:

Kod: Zaznacz cały

#
# /etc/pam.d/common-auth - authentication settings common to all services
#

# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-5, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details
wstawiamy:

Kod: Zaznacz cały

auth sufficient pam_usb.so
auth required pam_unix.so nullok_secure
Od tej chwili automatyczne logowanie w terminalu i aplikacjach wymagających autoryzacji powinno już działać.

Możemy to sprawdzić po przez przejście na inną konsolę CTRL+ALT+F1 i próbę logowania. Do trybu graficznego przechodzimy CTRL+ALT+F7. Gdy automatyczne logowanie się nie powiedzie cofnij się do poprzedniego punktu.

4.Konfiguracja libpam-usb - automatyczne logowanie w graficznym menadżerze logowania

Edytujemy plik /etc/pamusb.conf:

Kod: Zaznacz cały

sudo gedit /etc/pamusb.conf
Szukamy:

Kod: Zaznacz cały

<user id="root">
    <device>MyDevice</device>
</user>
i doprowadzamy do postaci dla GNOME (gnome-screensaver):

Kod: Zaznacz cały

  <user id="root">
    <device>MyDevice</device>
    <agent event="lock">gnome-screensaver-command --lock</agent>
    <agent event="unlock">gnome-screensaver-command --deactivate</agent>
  </user>
dla KDE (kscreensaver):

Kod: Zaznacz cały

<user id="root">
    <device>MyDevice</device>
    <agent event="lock">dcop kdesktop KScreensaverIface lock</agent>
    <agent event="unlock">dcop kdesktop KScreensaverIface quit</agent>
  </user>
Na samym końcu do programów startujących dodajemy pamusb-agent. Jeżeli wyjmiemy Pendrive, program automatycznie zablokuje użytkownika i poprosi o hasło dostępu.
Dla GNOME:
System->Preferencje->Sesje->Programy startowe->Dodaj
w miejscu polecenie wpisujemy pamusb-agent, reszta dowolnie.

Dla KDE:
kcontrol->Administracja->Sesje

i to na tyle:P
ODPOWIEDZ

Wróć do „Instalacja i konfiguracja systemu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 63 gości