Najprostszy sposób ochrony hasłem katalogu i jego zawartości bez konieczności tworzenia nowych plików?

22

Chciałbym zabezpieczyć hasłem lub zaszyfrować katalog i wszystkie zawarte w nim pliki (dla całego drzewa katalogów poniżej). Nie chcę niepokoić całego katalogu domowego, chcę określony katalog z niektórymi plikami i folderami. Chciałbym móc zaszyfrować katalog lub odszyfrować go za pomocą hasła. Linia poleceń byłaby najładniejsza w użyciu. Nie chcę tworzyć nowego pliku jako wersji zaszyfrowanej, a następnie usuwać poprzednie, które są wersją nieszyfrowaną.

Vass
źródło
Interesujące, „bez konieczności tworzenia nowych plików” ...
phunehehe
Masz na myśli mount jako zaszyfrowany system plików?
Faheem Mitha
@ FaheemMitha, chciałbym również ominąć trasę systemu plików, to brzmi skomplikowanie.
Vass
1
@Vass Trasa systemu plików jest zdecydowanie najprostszą metodą. Ułatwisz sobie życie, jeśli nie odrzucisz rozwiązań arbitralnie.
Gilles „SO - przestań być zły”
UWAGA: encfs nie jest uważane za bezpieczne: askubuntu.com/questions/813290/encfs-insecure-what-to-use-now
Keiran Raine

Odpowiedzi:

23

Użyj encfs (dostępnego jako pakiet w większości dystrybucji). Ustawić:

mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted

Pierwsze połączenie w celu encfsskonfigurowania zaszyfrowanego systemu plików. Po tym punkcie każdy zapisany plik nie ~/encryptedjest zapisywany bezpośrednio na dysku, jest szyfrowany, a zaszyfrowane dane są przechowywane w folderze ~/.encrypted. Na encfsliście poleceń demon działa, a to demon obsługuje szyfrowanie (i deszyfrowanie podczas odczytu pliku spod ~/encrypted).

Innymi słowy, w przypadku plików poniżej ~/encryptedczynności takie jak odczyty i zapisy nie przekładają się bezpośrednio na odczyt lub zapis z dysku. Są one wykonywane przez encfsproces, który szyfruje i odszyfrowuje dane oraz wykorzystuje ~/.encryptedkatalog do przechowywania tekstu zaszyfrowanego.

Po zakończeniu pracy ze swoimi plikami odmontuj system plików, aby nie można było uzyskać dostępu do danych, dopóki ponownie nie wpiszesz hasła:

fusermount -u ~/encrypted

Po tym punkcie ~/encryptedponownie będzie pusty katalog.

Jeśli później chcesz ponownie pracować na tych plikach, zamontuj zaszyfrowany system plików:

encfs ~/.encrypted ~/encrypted
# enter your passphrase

To ponownie sprawia, że ​​zaszyfrowane pliki są ~/.encrypteddostępne w katalogu ~/encrypted.

Możesz zmienić punkt montowania, ~/encryptedjak chcesz: encfs ~/.encrypted /somewhere/else(ale zamontuj zaszyfrowany katalog tylko raz na raz). Możesz skopiować lub przenieść tekst zaszyfrowany (ale nie wtedy, gdy jest zamontowany) w inne miejsce lub nawet na inną maszynę; wszystko, co musisz zrobić, aby pracować nad plikami, to podanie lokalizacji tekstu zaszyfrowanego jako pierwszego argumentu encfsi położenia pustego katalogu jako drugiego argumentu.

Gilles „SO- przestań być zły”
źródło
odpowiedź jest bardzo przydatna i praktyczna. Byłbym bardzo wdzięczny, gdybyś mógł dodać więcej tekstu wyjaśniającego, co robi każda operacja, jeśli nie przeszkadza ci to. Czy mógłbyś wyjaśnić, co w tym kontekście oznacza system plików i jakie znaczenie ma montowanie?
Vass
1
@Vass Zaktualizowałem swoją odpowiedź, dodając więcej wyjaśnień. Aby uzyskać informacje na temat systemów plików i montowania, zobacz Jakie punkty montowania istnieją w typowym systemie Linux? i Co należy rozumieć przez montowanie urządzenia w systemie Linux?
Gilles „SO- przestań być zły”
To niesamowite wytłumaczenie. Czuję się, jak wiele się nauczyłem. A dodatkowe linki pomagają. Tak więc system plików utworzony przez encfs to „pomieszane bloki oryginalnego pliku”, a poprzez encfs można nawigować i czytać; ponieważ oryginalny system plików nie jest kompatybilny z tymi blokami danych. a zaszyfrowany katalog jest ukryty, aby nie dostać się do niego przez przypadek. a jeśli byś nie widział nic?
Vass
1
@Vass „system plików utworzony przez encfs to„ pomieszane bloki oryginalnego pliku ”, a poprzez encfs można nawigować i czytać”: tak, dokładnie. Katalog ~/.encryptedzawiera tekst zaszyfrowany; możesz uzyskać do niego dostęp bez przechodzenia encfs, ale zobaczysz tam tylko zaszyfrowane dane.
Gilles „SO- przestań być zły”
2

Nie chcę tworzyć nowego pliku jako wersji zaszyfrowanej, a następnie usuwać poprzednie, które są wersją nieszyfrowaną

Ale dokładnie taki scenariusz opisałeś… „móc zaszyfrować katalog lub go odszyfrować”

Podejrzewam, że rozwiązaniem, którego szukasz, jest zaszyfrowany BEZPIECZNIK lub podobny . System plików jest przechowywany w zaszyfrowanym pliku, a po zamontowaniu (za pomocą hasła) dostęp jest przezroczysty przez warstwę VFS.

symcbean
źródło
tworzenie nowego pliku i usuwanie poprzedniego jest trasą .zip z ochroną hasłem. Nie rozumiem systemu plików i trasy montażu, o której mowa. Czy nie ma programu, który w jakiś sposób pomieszałby plik, a następnie przywróciłby go do porządku?
Vass
tak, tutaj cała lista zaszyfrowanych systemów plików FUSE. Ścieżka zip jest najprostsza
bsd
@Vass Nie rozumiem, co masz na myśli przez „ścieżkę zip”: zip nie jest zaangażowany. Zwykły tekst nigdy nie jest przechowywany na dysku (byłoby to o wiele bardziej skomplikowane i zniszczyłoby większość celów szyfrowania).
Gilles „SO- przestań być zły”
2
Trasa zip / ścieżka zip polega na rekurencyjnym spakowaniu katalogu za pomocą opcji szyfrowania / hasła. Jednak gdy chce się uzyskać dostęp do pliku, należy wyodrębnić niezaszyfrowany plik z pliku zip, odczytać plik, a następnie usunąć lub edytować plik, a następnie zaktualizować plik zip nowym plikiem, a następnie usunąć plik pośredni. Szuka przejrzystości zaszyfrowanego systemu plików, ale na poziomie katalogu. Ja i inni sugerujemy BEZPIECZNIK zaszyfrowanym fs. „Prosty” to jednak kwestia perspektywy i doświadczenia.
bsd
@bdowning, tak, poprawnie sformułowałeś to. Nie rozumiem systemów plików i ich działania. Ślepo pracowałem z poleceniami, nie rozumiejąc pojęć.
Vass