czyli dlaczego kocham Otwarte Oprogramowanie ;)

Dziś zainstalowałem najnowszego openSUSE z numerkiem 11.2. Już kiedyś pisałem o wersji RC, a wersją finalną nie zachwycałem się, bo wiadomo, że jest OK :) Jakież było moje zdziwienie, gdy po zainstalowaniu Truecrypta nie było możliwości podmontowania kontenera z poziomu użytkownika, bo zabawa, po wpisaniu co i gdzie ma być podmontowane, kończyła się tak:

zrzut_ekranu-Administrator privileges required

i po wpisaniu hasła root-a:

zrzut_ekranu-TrueCrypt

TC odpalony przez gnomesu albo kdesu działał poprawnie podobnie jak odpalony bezpośrednio jako root. Inaczej sprawa miała się z sudo, tu wyglądało to tak (jak widać nie tylko przy TC):

user@linux-swlk:~/Pulpit> sudo gedit
pam_mount password:
Naruszenie ochrony pamięci
user@linux-xxxx:~/Pulpit> sudo truecrypt
Naruszenie ochrony pamięci

Jako, że cenię sobie prywatność moich danych, katalog domowy jest w całości zaszyfrowany, a logowanie do systemu, montowanie home’a, itd odbywa się przez pam_mount. Ta sama technologia jest używana jeśli „autoryzujemy” się czytnikiem linii papilarnych (co jako zabezpieczenie jest oczywiście bez sensu (może kiedyś o tym coś napiszę)).

Pamiętając, że dawno temu był chyba jakiś bug związany z przekazywaniem hasła do pam_mount przez STDIN (standardowe wejście) postanowiłem (i za to kocham otwarte oprogramowanie) pogrzebać w źródłach truecrypta, by zobaczyć kiedy „Failed to obtain administrator privileges” jest generowane.
Nie ma tu sensu wnikać w kod (pliki UserInterface.cpp i CoreService.cpp), lecz z niego jasno wynika, że Truecrypt używa właśnie sudo, by normalny użytkownik mógł podmontować wolumeny, a hasło do sudo podawane jest właśnie prze STDIN.

Ale do rzeczy.
Wiadomo już, że problem jest w sudo, pam_mount i bug-u.
Obejście problemu to skomentowanie linijki w pliku /etc/pam.d/sudo (opisane także na forum openSUSE), u mnie ostatniej i wyglądającej teraz tak:

# session  optional	pam_mount.so

Tylko tyle, u mnie działa :) Nie wiem po co rozpisałem się z takim wstępem, ale może jak ktoś po objawach będzie szukał to znajdzie :)

AKTUALIZACJA:
pam_mount został poprawiony i tym samym problem został rozwiązany.

Tagged with →  
Share →

One Response to OpenSUSE 11.2, Truecrypt i „Failed to obtain administrator privileges”

  1. Rafał pisze:

    Witam,
    obecnie używam Debiana i generalnie postawiłem sobie linuksa z tym co lubię (np SLIM zamiast GDM).
    Dodatkowo zaszyfrowałem część plików (automatyczne montowanie przy logowaniu).
    Obejście dla problemu który opisujesz jest też inne i dla mnie lepsze (takie też zastosowałem):
    dodać w pliku sudoers autoryzację dla truecrypt. oto mój wpis:
    rafal ALL=NOPASSWD:/usr/bin/truecrypt
    (oczywiście edycja pliku tylko przez visudo !)
    Dzięki temu w ogóle nie musimy się męczyć z hasłem root-a
    pozdrawiam
    Rafał