To zależy. Jakie są twoje wymagania Jak oceniasz „najlepiej”? Jakie masz narzędzia? Czy zastanawiałeś się już nad innymi opcjami, o których warto wspomnieć?
Greg Hewgill
Nie rozważałem żadnych innych. Musi to być tylko podstawowe szyfrowanie, w którym ktoś nie może odczytać zawartości pliku, a najlepiej utrzymać dobry współczynnik kompresji.
user75027
1
Ogólnie odpowiedź brzmi „nie”. Jedną z podstawowych filozofii unixowych jest „rób jedną rzecz i rób to dobrze”. tar -zto niewielki wyjątek, ponieważ jest to bardzo powszechna praktyka.
Patrick
1
Nowsze tarwersje obsługują kompresję xz (flagę -J), której współczynnik kompresji jest zwykle lepszy niż bardziej tradycyjna kompresja gzip ( -z) lub bzip2 ( -j).
jofel
Zauważyłem, że xzjest to doskonałe. Pamiętam, że pobierałem jądro i zostało ono spakowane do około 1/7 oryginalnego rozmiaru. Chyba tar cvJf out.tar.xz file1 [file2...]użyję gpg lub openssl, aby je zaszyfrować. Zauważam również, że xz jest bardzo szybki. Jak osiąga lepszą kompresję niż bz2 i nadal jest szybki?
user75027
Odpowiedzi:
24
tarjest zwykłym narzędziem do pakowania plików. Zwykły tarsam się nie kompresuje. Istnieją osobne narzędzia, takie jak gzip , bzip2 i xz (w rosnącym stopniu współczynnika kompresji w typowych plikach), które kompresują jeden plik. Wiele tarimplementacji, w tym tar GNU (normalna implementacja w systemie Linux), może automatycznie kompresować z opcją ( -zdla gzip, -jdla bzip2, -Jdla xz):
tar -cJf myarchive.tar.xz file1 file2 file3
Aby zaszyfrować plik, użyj gpg . Utwórz klucz i powiąż go ze swoim adresem e-mail (identyfikatory kluczy GPG / PGP zwykle zawierają adres e-mail, choć nie jest to konieczne). Zaszyfruj swoje pliki, określając adres e-mail jako odbiorcę. Aby odszyfrować plik, musisz wprowadzić hasło, aby odblokować klucz prywatny.
GPG umożliwia także szyfrowanie pliku za pomocą hasła. Jest to mniej bezpieczne i mniej elastyczne. Jest mniej elastyczny, ponieważ musisz podać hasło podczas szyfrowania (więc na przykład nie możesz wykonywać nienadzorowanych kopii zapasowych). Jest mniej bezpieczny, ponieważ jedynym zabezpieczeniem jest hasło, podczas gdy szyfrowanie oparte na kluczach dzieli bezpieczeństwo między hasłem a kluczem.
Nie używaj opensslnarzędzia wiersza poleceń. Jest to prezentacja biblioteki OpenSSL, nieprzeznaczona do użytku produkcyjnego. Chociaż możesz z nim robić pewne rzeczy (w szczególności ma on wszystkie prymitywne elementy potrzebne do podstawowego urzędu certyfikacji), jest trudny do prawidłowego użycia i nie ma wszystkiego, czego potrzebujesz, aby zrobić to dobrze. Tam, gdzie GPG daje ci rower, OpenSSL daje ci kilka metalowych prętów o różnych rozmiarach i kilka gumowych komór (śruby i pompa nie są dołączone). Użyj GPG.
Rozumiem, że tar jest pakietem i metodami kompresji. Jednak klucze gpg są dla mnie nowe. Nie do końca rozumiem, jak go używać, choć mam klucz. Myślę. Myślę, że mam także klucze ssh.
user75027
Właśnie tego szukałem do kompresji i szyfrowania za pomocą jednego polecenia (za pomocą tari gpgw potoku).
CGFoX
12
Możesz użyć 7zip:
7z a -p -mhe=on stuff.7z MyStuff
^ ^ ^ ^ ^
| | | | `--- Files/directories to compress & encrypt.
| | | `--- Output filename
| | `--- Encrypt filenames
| `---- Use a password
`---- Add files to archive
tar -z
to niewielki wyjątek, ponieważ jest to bardzo powszechna praktyka.tar
wersje obsługują kompresję xz (flagę-J
), której współczynnik kompresji jest zwykle lepszy niż bardziej tradycyjna kompresja gzip (-z
) lub bzip2 (-j
).xz
jest to doskonałe. Pamiętam, że pobierałem jądro i zostało ono spakowane do około 1/7 oryginalnego rozmiaru. Chybatar cvJf out.tar.xz file1 [file2...]
użyję gpg lub openssl, aby je zaszyfrować. Zauważam również, że xz jest bardzo szybki. Jak osiąga lepszą kompresję niż bz2 i nadal jest szybki?Odpowiedzi:
tar
jest zwykłym narzędziem do pakowania plików. Zwykłytar
sam się nie kompresuje. Istnieją osobne narzędzia, takie jak gzip , bzip2 i xz (w rosnącym stopniu współczynnika kompresji w typowych plikach), które kompresują jeden plik. Wieletar
implementacji, w tym tar GNU (normalna implementacja w systemie Linux), może automatycznie kompresować z opcją (-z
dla gzip,-j
dla bzip2,-J
dla xz):Aby zaszyfrować plik, użyj gpg . Utwórz klucz i powiąż go ze swoim adresem e-mail (identyfikatory kluczy GPG / PGP zwykle zawierają adres e-mail, choć nie jest to konieczne). Zaszyfruj swoje pliki, określając adres e-mail jako odbiorcę. Aby odszyfrować plik, musisz wprowadzić hasło, aby odblokować klucz prywatny.
GPG umożliwia także szyfrowanie pliku za pomocą hasła. Jest to mniej bezpieczne i mniej elastyczne. Jest mniej elastyczny, ponieważ musisz podać hasło podczas szyfrowania (więc na przykład nie możesz wykonywać nienadzorowanych kopii zapasowych). Jest mniej bezpieczny, ponieważ jedynym zabezpieczeniem jest hasło, podczas gdy szyfrowanie oparte na kluczach dzieli bezpieczeństwo między hasłem a kluczem.
Nie używaj
openssl
narzędzia wiersza poleceń. Jest to prezentacja biblioteki OpenSSL, nieprzeznaczona do użytku produkcyjnego. Chociaż możesz z nim robić pewne rzeczy (w szczególności ma on wszystkie prymitywne elementy potrzebne do podstawowego urzędu certyfikacji), jest trudny do prawidłowego użycia i nie ma wszystkiego, czego potrzebujesz, aby zrobić to dobrze. Tam, gdzie GPG daje ci rower, OpenSSL daje ci kilka metalowych prętów o różnych rozmiarach i kilka gumowych komór (śruby i pompa nie są dołączone). Użyj GPG.źródło
tar
igpg
w potoku).Możesz użyć 7zip:
Pojawi się monit o podanie hasła. Najwyraźniej używa AES-256 do szyfrowania i SHA-256 hasła, a licznik powtarzany 512 razy w celu uzyskania klucza.
Edycja : Nie szyfruje nazw plików, więc i tak możesz chciećtar
wszystkiego od początku.Edycja 2 : Dodano
-mhe=on
.źródło
7za
, możesz szyfrować nazwy plików z-mhe=on
opcją.Możesz więc używać także nazw plików szyfrujących 7zip:
źródło