Jak przestać używać wbudowanego szyfrowania katalogu domowego?

106

Mam nową instalację Ubuntu 10.04 z zaszyfrowanym katalogiem domowym (przy użyciu wbudowanego szyfrowania oferowanego przez instalator Ubuntu).

Jak najłatwiej przestać używać szyfrowania? (Tj., Aby trwale odszyfrować mój katalog domowy).

(Daje mi to problemy z aktualizacjami jądra i chciałbym po prostu ograniczyć wszelkie problemy związane z tą instalacją).

Jonik
źródło

Odpowiedzi:

76

Googlując się, znalazłem ten post :

Nie żeby przywoływać stary wątek, ale na wypadek, gdyby ktoś popełnił błędy podczas próby wykonania tych instrukcji, oto co zrobiłem.

  1. Wykonaj kopię zapasową katalogu domowego, gdy jesteś zalogowany sudo cp -rp /home/user /home/user.backup

    1.1 Sprawdź, czy twoja domowa kopia zapasowa ma wszystko !!!

  2. zrestartuj do roota poprzez grub
  3. Usuń swój katalog domowy rm -rf /home/user
  4. Usuń paczki apt-get remove ecryptfs-utils libecryptfs0
  5. Przywróć katalog domowy mv /home/user.backup /home/user
  6. restart
  7. Usuń dowolny z tych .Private .ecryptfsfolderówrm -rf ~/.Private rm -rf ~/.ecryptfs
  8. Tak!
To zadziałało dla mnie. Uprawnienia do plików folderu domowego pozostają nienaruszone i nie powodują błędów w Dropbox ani repozytoriach git. Z jakiegoś powodu moja nowa instalacja na Ubuntu 9.10 nie wykona pierwszego polecenia. Po prostu upewnij się, że przemyśliłeś cały proces podczas używania rm -rf. Chciałem tylko opublikować to nie tylko dla mojej płyty, ale dla każdego, kto napotka problemy.

Kilka notatek

  • ponowne uruchomienie roota przez grub było dla mnie trochę niejasne; Nie uruchomiłem się ponownie, po prostu przestawiłem się na używanie roota (konto innego użytkownika z sudouprawnieniami działałoby równie dobrze).
  • Przed usunięciem pakietów ecryptfs-utilsi libecryptfs0działaniem musiałem je usunąć /home/.ecryptfs/<myusername>. (Skarżył się, że ecryptfs-utilsbył w użyciu).

Poza tym to działało dla mnie. Nie jest to jednak proste, więc publikuj lepsze rozwiązania!

Jonik
źródło
Zaakceptuję to, ponieważ zadziałało dla mnie, ale tak jak powiedziałem, możesz napisać coś prostszego lub lepszego!
Jonik
3
To zadziałało również dla mnie 12.10. Musiałem też /home/.ecryptfs/<myusername>najpierw usunąć . Musiałem też ponownie zamontować /konsolę główną, ale myślę, że to już inna historia. Dzięki!
Konstantyn
1
Pracowałem też 12.04. Jedyną rzeczą jest to, że jeśli przełączysz się na root ( sudo su) zamiast „restartu z rootem poprzez grub” to działa, ale musisz wyjść /home/user( cd /homena przykład) i wydać umount /home/userpolecenie odmontowania katalogu domowego przed użyciem rm -rf. Musisz także to zrobić rm -rf /home/user.backup/.ecryptfsprzed usunięciem 2 pakietów.
laurent,
3
+1 Łatwiej jest to zrobić w przypadku SSH, bez GRUB-a lub próby uniknięcia jakiegokolwiek montażu. Ostrożnie usuwaj /home/.ecryptfs. Najwyraźniej ma dowiązanie symboliczne wskazujące na / home / nazwę użytkownika. Straciłem wszystkie moje dane.
htoip
2
W przypadku kroku 1, jeśli pojawi się błąd: /home/<username>/.gvfs: Cannot stat: Permission deniedzawsze możesz użyć rsync:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38
40

Oto masz nadzieję, że to pomoże (patrz ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

Dane wyjściowe twierdzą:

W przypadku, gdy chcesz usunąć konfigurację eCryptfs Private Directory, musisz bardzo ostrożnie ręcznie wykonać następujące czynności:

  1. Uzyskaj punkt montowania katalogu prywatnego

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. Upewnij się, że wszystkie istotne dane zostały przeniesione z $PRIVATEkatalogu

  3. Odmontuj zaszyfrowany katalog prywatny

    $ ecryptfs-umount-private
    
  4. Spraw, aby Twój prywatny katalog był ponownie zapisywalny

    $ chmod 700 $PRIVATE
    
  5. Usuń $PRIVATE, ~/.Private,~/.ecryptfs

    Uwaga: TO JEST BARDZO STAŁE, BĄDŹ BARDZO OSTROŻNE

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Odinstaluj narzędzia (jest to specyficzne dla twojej dystrybucji Linuksa)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    
Zuzust
źródło
Dzięki. Mam już rozwiązany, ale myślę, że jest to przydatne dla innych.
Jonik
@Jonik Czy udało ci się .ecryptfs/jonik/.Privatepoprawnie zalogować po aktualizacji jądra, czy też wykonałeś kopię zapasową i cofnąłeś szyfrowanie?
izomorfizmy
3
Dotyczy to tylko zaszyfrowanego katalogu „~ / Private”, a nie zaszyfrowanego katalogu domowego, jak podał OP. Różnice można znaleźć w help.ubuntu.com/community/EncryptedHome .
lmeurs
15

Pierwsza rzecz do zrobienia: ZAPASUJ SWÓJ DOM Nie mogę powiedzieć tego głośniej ... w zasadzie cofnięcie szyfrowania jest równoznaczne z zresetowaniem ( rm -rf) twojego domu, który w rzeczywistości jest ukryty przez wierzchowca.

Drugi krok: wyloguj się z dowolnego menedżera pulpitu i przejdź do wirtualnej konsoli ( CTRL-ALT-F1)

Wreszcie: po szczegóły:

ecryptfs-setup-private --undo

W przypadku, gdy chcesz usunąć konfigurację eCryptfs Private Directory, musisz bardzo ostrożnie ręcznie wykonać następujące czynności:

  1. Uzyskaj punkt montowania katalogu prywatnego PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. Upewnij się, że wszystkie istotne dane zostały przeniesione z $PRIVATEkatalogu

  3. Odmontuj zaszyfrowany katalog prywatny

    ecryptfs-umount-private
    
  4. Spraw, aby Twój prywatny katalog był ponownie zapisywalny

    chmod 700 $PRIVATE
    
  5. Usuń $PRIVATE, ~/.Private, ~/.ecryptfs Uwaga: To jest bardzo trwała, być bardzo ostrożnym

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Odinstaluj narzędzia

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

Powiedziałbym, że krok 5 jest trochę błędny: nie trzeba go usuwać $PRIVATE, co było dla mnie moim domem ....

Po .Privatei .ecryptfsusunięcie tylko przywrócić swój dom:]

hhlp
źródło
5
Co jeśli zaszyfrowałeś więcej niż połowę swojego miejsca na dysku twardym? Czy jest jakieś wyjście bez kupowania innego dysku?
izomorfizmy
@hhlp Ciekawe, że nie musisz usuwać swojego $ PRIVATE. Czy to nie Twój katalog domowy użytkownika? Czy to oznacza, że ​​nie trzeba usuwać własnego katalogu, poza tym, że tworzenie kopii zapasowej jest zawsze ważne?
XavierStuvw
8

Te kroki będą działać w środowisku serwerowym

Krok 1: Wykonaj kopię zapasową katalogu domowego

sudo cp -rp / home / $ USER /home/$USER.backup

Krok 2: Potwierdź, czy wszystko jest kopią zapasową

sudo ls -al /home/$USER.backup

Krok 3: Zamontuj folder domowy, ponieważ program szyfrujący zwykle montuje go do punktu montowania, np. /home/$USERZnany również jako $HOME. Możesz potwierdzić punkt montowania, uruchamiając df -h $HOME. Będziesz musiał cd /tmp(lub jakiś inny nie $HOMEkatalog), aby móc odmontować$HOME

cd / tmp
sudo umount / home / $ USER

Krok 4: Usuń stary folder domowy

sudo rm -rf / home / $ USER

Krok 5: Usuń plik programu szyfrującego

sudo rm -rf /home/$USER.backup/.ecryptfs

Krok 6: Usuń narzędzia szyfrujące z systemu

sudo apt-get remove ecryptfs-utils libecryptfs0

Krok 7: Przywróć niezaszyfrowany folder domowy z powrotem do oryginalnej ścieżki

sudo mv /home/$USER.backup / home / $ USER

Krok 8: Zmień własność przywróconego folderu z powrotem na użytkownika

sudo chown -R $ (id -u): $ (id -g) / home / $ USER

Krok 9: Wyloguj się / zaloguj, aby mieć pewność, że wszystkie elementy użytkownika zostaną ponownie uruchomione poprawnie (lub że wystąpią błędy, gdy będziesz pamiętać, co zrobiłeś)

Erick
źródło
Znakomity. Dziękuję za ten jasny i zrozumiały przewodnik. Pomógł mi!
James Lalor
Wyczyściłem także /home/.ecryptfs/$USER za pomocą sudo rm -rf /home/.ecryptfs/$USER
JimB
5

Dodanie kolejnego przewodnika do długiej listy po tym, jak zdałem sobie sprawę, że najbardziej natrętne kroki wymienione gdzie indziej nie są konieczne.

Mój przewodnik nie wymaga ponownego uruchamiania i pomyślnie ukończyłem go przez SSH . Powinno to również działać, jeśli na komputerze znajdują się inne mocowania eCryptfs .

Jedynym nieoczywistym wymogiem jest możliwość zalogowania się jako inny użytkownik z sudodostępem.

  1. Zaloguj się jako użytkownik zaszyfrowanego katalogu domowego (nazywanego userw tym przewodniku).

  2. Wystarczy, aby ścieżki w poniższych krokach były proste i symetryczne:

    cd /home
    
  3. Zduplikuj odszyfrowaną zawartość folderu domowego do innego katalogu.

    sudo cp -rp user user.new
    
  4. Wyloguj się ( exitlub logout). Zaloguj się jako inny sudoer.

  5. Sprawdź, czy mount eCryptfs jest odmontowany. Nie rób umounttego ręcznie, może to doprowadzić do utraty danych! (Doświadczyłem siebie. Miałem kolejną sesję SSH z userzalogowanym.)

    mount | grep ecryptfs
    

    Dane wyjściowe muszą być puste. Lub, jeśli istnieją inne ecryptfs wierzchowce, musi nie zawierać /home/user.

  6. Podobnie jak krok 2.

    cd /home
    
  7. Oznacz duplikat jako nie zarządzany za pomocą eCryptfs. (Nie ma potrzeby odinstalowywania pakietów eCryptfs, szczególnie gdy istnieją inne instalacje eCryptfs.)

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. Przenieś niezaszyfrowany katalog domowy na swoje miejsce.

    sudo mv user user.old && sudo mv user.new user
    
  9. Zaloguj się jako useri sprawdź, czy wszystko działa, a eCryptfs się nie uruchamia.

    mount | grep ecryptfs
    
  10. Usuń oryginalną zawartość userfolderu domowego i zaszyfrowane dane.

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    
Melebius
źródło
1
  • jeśli możesz wykonać kopię zapasową w pamięci zewnętrznej, zrób to. (Nie jest to bezpośrednio potrzebne, ale zawsze dobre przed manipulacją plikami.)

  • ttyprzynajmniej trochę się zapoznaj . (Naciśnij Ctrl Alt F7, Ctrl Alt F1itd.) Trzeba będzie pracować z dwoma tty-s. Jeden root i jeden z głównych użytkowników.

  • zaloguj się jak rootna osobnym terminalu, utwórz nowy katalog domowy

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • wyloguj się z sesji graficznej. Możesz uruchomić ponownie, aby upewnić się, że żaden program nie działa z poziomu zwykłego użytkownika.

  • zaloguj się jako normalny użytkownik na osobnym urządzeniu tty, przenieś wszystkie pliki do nowego miejsca docelowego:

    mv ~/* /home/user.newdir/
    
  • używając roottty zmień nazwę katalogów:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • wszystko powinno działać teraz. :) Gdy jesteś gotowy, należy usunąć stare pliki /home/.encryptfs, /home/user.encfs, /home/user/.Private, /home/user/.encryptfs. Jeśli chcesz, możesz najpierw zmienić ich nazwę, a następnie usunąć je później.

VasyaNovikov
źródło
1

Nie użyłem tutaj żadnej odpowiedzi. Zamiast tego (w Ubuntu Studio 14.04):

  1. Skopiowałem wszystkie pliki, które chciałem zachować, zwłaszcza wszystkie pliki. *, Do katalogu poza $ HOME.
  2. Utworzyłem nowego użytkownika (System> Użytkownicy i grupy) i dodałem tego użytkownika do grupy sudo. Pozostawiłem pole „Szyfruj folder domowy w celu ochrony poufnych danych” niezaznaczone.
  3. Wylogowałem się i zalogowałem ponownie, ponieważ nowy użytkownik usunął moje oryginalne konto, sprawdzając, jaki był numeryczny identyfikator UID (opcje zaawansowane), wybierając opcję usunięcia plików z mojego oryginalnego $ HOME. To się zakończyło, ale wystąpił „nieznany błąd”. Podczas meldowania się / home widziałem, że mój stary $ HOME zniknął
  4. Ponownie utworzyłem moje oryginalne konto użytkownika, sprawdzając, czy zostało utworzone przy użyciu oryginalnego numerycznego identyfikatora UID, i tak, pozostawiając pole „Szyfruj folder domowy w celu ochrony poufnych danych” niezaznaczone.
  5. Usunąłem nową, praktycznie pustą wersję mojego oryginalnego katalogu $ HOME, zmieniłem nazwę kopii zapasowej $ HOME na mój oryginalny $ HOME i wylogowałem się.
  6. Zalogowałem się na moje nowe oryginalne konto i wyglądało to tak, jakby nic się nie wydarzyło.
  7. Sprawdziłem / home, aby znaleźć katalog .ecryptfs, który usunąłem bez żadnych skutków ubocznych.

Nie widzę powodu, dla którego usunięcie pakietu, który zapewnia zaszyfrowane katalogi domowe, nie powinno być opcjonalne i odroczyłem usuwanie nowego konta użytkownika, które utworzyłem w tym celu, ponieważ myślę, że może się przydać w przyszłości.

Mój powód, aby to zrobić? Stary komputer wygląda na uszkodzony. Kiedy się nie powiedzie, chcę mieć dostęp do HD na innym komputerze bez żadnych problemów.

Richard Kandarian
źródło
1

Wyjaśnienie Jonika działa dobrze. Ale zamiast kroku 2:

  1. Wyloguj
  2. Naciśnij Ctrl+ F4. Interfejs wiersza poleceń powinien zostać otwarty.
  3. Zaloguj się jako root
  4. rm -rf .ecryptfs

Następnie zamiast kroku 6: naciśnij Ctrl+ F7. Jeśli ekran logowania GUI nie pojawi się, naciśnij Ctrl+ F8.

Martin Thoma
źródło
-3

Proste rozwiązanie, które działało dla mnie:

Powinieneś mieć innego użytkownika z dostępem sudo

  1. Restart
  2. Na ekranie logowania naciśnij CTRL+ ALT+F1
  3. Zaloguj się jako drugi użytkownik (z dostępem sudo)
  4. sudo rm -rf /home/youruser/.ecryptfs
  5. sudo rm /home/youruser/.Private
  6. sudo apt-get remove --purge ecryptfs-utils libecryptfs1
  7. sudo reboot
  8. Zaloguj się jako użytkownik i ciesz się swoim domowym katalogiem bez szyfrowania;)
Sycu
źródło
3
Spowodowałoby to wymazanie wszystkich modyfikacji wykonanych po włączeniu szyfrowania. Prawdopodobnie jest to OK dla właśnie zainstalowanego systemu, ale musisz wyraźnie o tym wspomnieć.
Melebius