Jest to polecenie rsyncrypto, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
rsyncrypto - szyfrowanie przyjazne rsync
STRESZCZENIE
rsyncrypto [Opcje] plik src plik dst plik klucza klucz
rsyncrypto [Opcje] -r katalog src dstdir reż.kluczy klucz
OPIS
Ta strona podręcznika dokumentuje rsyncrypto dowództwo.
rsyncrypto to narzędzie, które szyfruje plik (lub strukturę katalogów) w taki sposób
gwarantuje, że lokalne zmiany w zwykłym pliku tekstowym spowodują lokalne zmiany w pliku
szyfrowany plik tekstowy. To z kolei gwarantuje, że robienie rsync synchronizować zaszyfrowane
plików na inną maszynę będzie miało tylko niewielki wpływ na rsyncwydajność.
rsyncrypto zaszyfruje pliki przy użyciu symetrycznego szyfru blokowego (AES). Każdy plik jest zaszyfrowany
za pomocą unikalnego klucza. Klucz pliku jest przechowywany w dwóch lokalizacjach. Jeden to "klucz„plik i
drugi znajduje się w samym zaszyfrowanym pliku. Druga kopia jest szyfrowana przy użyciu RSA
klucz publiczny, który może być współdzielony dla wszystkich szyfrowanych plików.
Odszyfrowanie pliku może odbyć się w jednej z dwóch form:
Ciepły Deszyfrowanie
plik klucza służy do odszyfrowania plik src najnowszych plik dst.
Zimno Deszyfrowanie
If plik klucza jest zgubiony i klucz jest prywatny klucz do szyfrowania RSA, rozpakuj i
Stwórz plik klucza z zaszyfrowanego plik srci utwórz oba plik klucza oraz plik dst.
Jeśli oba plik klucza i klucz prywatny nie są dostępne, odszyfrowanie nie może mieć miejsca.
Zazwyczaj oznacza to, że chcesz przesłać zaszyfrowane pliki
w jakikolwiek sposób (bezpieczny lub niepewny, ale prawdopodobnie rsync :) i zachowaj zwykły plik tekstowy, as
jak również plik klucza, bezpieczny. Tak długo, jak zapisałeś klucz prywatny RSA, możesz
zrekonstruować ich obu.
PARAMETRY
Znaczenie parametrów zależy od istnienia -r oraz -d flagi.
plik src or katalog src
To jest źródło operacji. To będzie zwykły plik tekstowy dla
szyfrowania i szyfrowanego pliku tekstowego do odszyfrowania. jeśli -r podana jest opcja,
katalog src to katalog, z którego pliki mają zostać zaszyfrowane/odszyfrowane. W przeciwnym razie,
plik src to plik do zaszyfrowania/odszyfrowania. W każdym przypadku, src musi istnieć przed
bieganie rsyncrypto.
plik dst or dstdir
Podobny do src, to jest miejsce docelowe operacji. To będzie zwykły tekst
zostać utworzony, jeśli -d został podany lub zaszyfrowany plik w inny sposób.
plik klucza or katalog kluczy
Plik zawierający klucz symetryczny do szyfrowania lub katalog, w którym
rezydują pliki kluczy symetrycznych. Jeśli później, pliki kluczy będą miały taką samą nazwę jak
zwykłe pliki tekstowe.
klucz Ten plik może być certyfikatem X509 z kluczem publicznym lub formatem PEM
prywatny klucz. Klucz prywatny nigdy nie jest potrzebny, chyba że wymagane jest odszyfrowanie na zimno.
Zobacz req(1) lub x509(1) strony podręcznika, aby uzyskać więcej informacji.
If dst nie istnieje, zostanie utworzony. Katalog, w którym ma zostać utworzony musi
istnieć przed uruchomieniem rsyncrypto.
W przypadku szyfrowania i znalezienia klucza symetrycznego dla pliku zostaną użyte te same parametry
do szyfrowania, chyba że --fr or --fk używane są opcje. W takim razie klucz
plik zostanie zastąpiony poprawnymi parametrami.
OPCJE
Te programy działają zgodnie ze zwykłą składnią wiersza poleceń GNU, z długimi opcjami zaczynającymi się od
dwie myślniki (`-').
-h, --help
Pokaż podsumowanie opcji.
-V, --wersja
Wydrukuj aktualny numer wersji.
-d, --odszyfrować
Odszyfruj src najnowszych dst. Domyślnym zachowaniem jest szyfrowanie src najnowszych dsti tworzyć
plik klucza jeśli nie istnieje.
-r, --rekurencja
Rekursywnie szyfruj/odszyfruj całą strukturę katalogów. Wszystkie pliki pod katalog src
zostanie zaszyfrowany do plików o tej samej nazwie i ścieżce (prawie, patrz --przycinać) pod
dstdir. Jeśli jeszcze tego nie ma, plik klucza zostanie utworzony dla każdego pliku w ramach
katalog kluczy.
--lista plików
Pierwszy argument jest wskaźnikiem do pliku (lub „-” dla standardowego wejścia), który zawiera listę
pliki do przetworzenia. Każda nazwa zakończona znakiem „/” jest traktowana jako katalog w
tryb rekurencyjny, a każda inna nazwa jest nazwą pliku. Drugi argument to A
katalog, w którym pliki są szyfrowane. --filelist i -r są wzajemnie
wykluczają.
-c, --zmieniony
Sprawdź src i docelowy czas modyfikacji (zobacz --modify-window) przed
wykonanie operacji. Jeśli zmodyfikowany czas jest taki sam, załóżmy, że pliki
są takie same i pomiń operację. Zauważ, że w przeciwieństwie do rsync, rozmiary plików są
nie porównywane. Dzieje się tak, ponieważ oczekuje się, że rozmiar pliku zmieni się podczas
operacja szyfrowania (a tym samym deszyfrowania).
--ryzykowne-pisze
Zwykle, gdy rsyncrypto zapisuje plik, używa tymczasowej nazwy i przenosi plik
do ostatecznej nazwy po pomyślnym zakończeniu. Służy to dwóm celom. Podczas
szyfrowanie, zapobiega to fałszywemu poczuciu bezpieczeństwa, które może powstać w przypadku
rsyncrypto, zapobiegając obecności częściowego pliku (i in
w przypadku aktualizacji, zachowując starą kopię zapasową). Zapewnia to również ponowne uruchomienie
rsyncrypto umożliwi mu prawidłowe wykrycie, czy operacja musi zostać wykonana
powtarzający się. Podczas odszyfrowywania zapobiega to nadpisaniu pliku, dopóki nie będziemy pewni
możemy odszyfrować jego źródło.
Głównym problemem związanym z tym podejściem jest to, że jeśli zapisywany plik jest duży,
system plików musi mieć wystarczająco dużo miejsca na dwie jego kopie na czas trwania
operacja. Ponadto, jeśli utrzymywane są twarde łącza, domyślne zachowanie rsyncrypto
zerwie łącze.
Sprecyzować --ryzykowne-pisze aby rsyncrypto bezpośrednio nadpisał istniejący plik
używając ostatecznej nazwy.
--modify-window=num
Obowiązuje tylko wtedy, gdy -c obowiązuje. Porównując czasy modyfikacji plików, potraktuj
jako równe czasy modyfikacji, które są num sekundy od siebie. Wartość domyślna to zero.
Ta opcja jest najbardziej przydatna, gdy zaszyfrowany plik jest przechowywany w systemie plików FAT.
FAT może przechowywać czas modyfikacji tylko z dokładnością do 2 sekund. Może to skutkować
zmiana czasu modyfikacji między oryginalnym a zaszyfrowanym plikiem. w takim przypadku
--modify-window=1 należy użyć.
--export-zmiany=logfile
Za każdym razem, gdy szyfrujesz lub usuwasz plik, wpisz nazwę pliku do logfile, To
pozwala przejść logfile do rsync(1) za pomocą --włącz-z opcja rsync.
Ta opcja jest najbardziej użyteczna, jeśli rsyncrypto służy do wielokrotnego szyfrowania ogromnego
drzewo katalogów, a następnie używając rsync do zdalnej synchronizacji. Korzystanie z tego
opcja umożliwia ustawienie ostrości rsync tylko na tych plikach, o których wiadomo, że uległy zmianie,
zamiast wysyłać całą listę plików do zdalnej maszyny, czyniąc
szybsze działanie rsync. Należy zauważyć, że rsync w wersji 3 uruchamia rzeczywistą
transfer plików, podczas gdy wciąż przesyła listę plików, co zapewnia wydajność
zysk z tej opcji mniej zauważalny.
Pamiętaj o tym, używając tej opcji w połączeniu z rsync logfile is
wyzerowane przed zapisaniem. Oznacza to, że chyba że jest co najmniej jeden
całkowicie udana operacja rsync dla każdego wywołania rsyncrypto
możliwe jest posiadanie plików, które zostały zmienione na dysku przez poprzednie wywołanie programu
rsyncrypto, ale zostały nadpisane przez późniejsze wywołanie i nie pojawiają się w pliku
najnowsza wersja logfile. Innymi słowy, jeśli rsyncrypto jest uruchamiane więcej niż raz
między dwoma całkowicie udanymi wywołaniami rsync, jest to możliwe logfile
nie być kompletnym. Zastosowanie to opcja at Twój własny ryzyko!
Zdecydowanie zaleca się uaktualnienie do rsync w wersji 3 lub nowszej niż
polegać na tej opcji.
-n, --name-encrypt=plik_tłumaczenia
Zaszyfruj nazwę pliku. Jeśli ta opcja jest określona, oznacza to, że nazwy plików są
również zaszyfrowane. Odbywa się to poprzez zmianę nazwy zaszyfrowanego pliku na a
losowy ciąg znaków i przechowywanie tłumaczenia w pliku podanym jako
parametr. Jeśli pracujesz w trybie rekurencyjnym, ten plik jest również automatycznie dołączany
w szyfrowaniu i otrzymuje stałą nazwę „filemap”. Robi się to tak, że
odszyfrowanie nazw plików jest możliwe w przypadku utraty kluczy symetrycznych.
--ne-zagnieżdżanie=num
Gdy używana jest opcja --name-encrypt, domyślnie wszystkie zniekształcone nazwy plików są
przechowywane w jednym katalogu. Podczas szyfrowania dużych drzew katalogów może to
skutkuje raczej dużymi katalogami. Użycie „--ne-nesting” podzieli pliki na sub
katalogów, zgodnie z losowymi bitami, które są częścią zaszyfrowanej nazwy pliku. "N"
to liczba katalogów do zagnieżdżenia.
--przytnij=num
Określ, ile poziomów katalogów ma zostać przyciętych od początku pliku katalog src ścieżka
podczas tworzenia katalogów pod dstdir. Wartość domyślna to 1. Zobacz THE TRIM OPCJA
by uzyskać więcej szczegółów.
--kasować
W trybie rekurencyjnym usuń pliki i katalogi w dstdir które nie istnieją
dla katalog src.
--usuń-klucze
Podczas usuwania plików usuń również ich klucz symetryczny i mapowanie nazw plików (jeśli
odpowiedni). Kiedy tylko --kasować używany jest klucz symetryczny i mapowanie plików
zachowany, więc jeśli plik zostanie odtworzony, będzie można go zsynchronizować z oryginałem
plik. Ta opcja implikuje --kasować.
-bnum --bity klawiszy=num
Określ rozmiar klucza szyfru blokowego. W przypadku AES może to być 128, 192 lub 256. Uwaga
że chyba że --fr or --fkP Opcje jest również określony, to będzie tylko oddziaływać
pliki dla który Nie plik klucza istnieje.
--noatime=num
(Tylko na niektórych platformach, w szczególności na Linuksie). Platforma zwykle śledzi
kiedy ostatnio uzyskiwano dostęp do plików. Od rsyncrypto jest zwykle używany do tworzenia kopii zapasowych,
otwiera pliki, które szyfruje za pomocą opcji O_NOATIME, która jest specyficzna dla Linuksa
rozszerzenie, które mówi systemowi, aby nie aktualizował czasu dostępu do pliku. podczas otwierania
plik, w którym proces otwierania nie jest własnością właściciela pliku, próba otwarcia
plik z O_NOATIME spowoduje niepowodzenie otwarcia z komunikatem „odmowa uprawnień”.
num może być jedną z tych opcji: 0 oznacza w ogóle nie używać O_NOATIME. 1 (
default) oznacza próbę użycia tylko O_NOATIME if rsyncrypto uważa, że nie spowoduje
błąd odmowy uprawnień. 2 oznacza używanie O_NOATIME zawsze.
--bez trybu archiwizacji
Nie próbuj zachowywać znaczników czasu. Ta opcja jest niezgodna z -c.
--gzip=ścieżka
Domyślnie rsyncrypto skompresuje zwykły tekst przed jego zaszyfrowaniem. W
aby nie stać się nieprzyjaznym rsync z powodu kompresji, rsyncrypto będzie szukać
ścieżka dla instancji gzip(1), który obsługuje --Możliwość synchronizacji opcja. Jeśli
domyślny gzip systemu nie obsługuje tej opcji (wszystkie Debian i pochodne, as
a także niektóre inne, wspieraj to), użyj tej opcji, aby powiedzieć rsyncrypto w użyciu
inna instancja gzip. Katalog testów źródła rsyncrypto zawiera plik
o nazwie „gzip”, który wykonuje kompresję NULL, przekierowując dane wejściowe i wyjściowe do
jak(1).
--roll-win=num, --roll-min=num, --czułość-rolki=num
Wpływa na algorytm toczącego się bloku. Widzieć UWAGI.
--fk, --fr
Jeśli linia poleceń lub wersja z innymi ustawieniami domyślnymi, podaj różne wartości dla
dotychczasowy --rolka-* opcje lub -b opcji, będą one miały wpływ tylko na pliki, dla których
plik klucza jeszcze nie istnieje. określając --fk or --fr odtworzy plik klucza Jeśli to
ma wartości inne niż w poprzednim pliku klucza.
-v, --gadatliwy
Zwiększ poziom gadatliwości. Określ kilka razy, aby być bardziej szczegółowym.
UWAGI
szyfrowanie stdin
If plik src zostanie podany jako `-', dane w postaci zwykłego tekstu zostaną odczytane ze standardowego wejścia. To jeszcze nie
pracować nad dekompresją (zob ROBAKI).
--roll-win=liczba, --roll-min=liczba, --czułość-rolki=liczba
Wartości te wpływają na niektóre wewnętrzne działania rsyncryptopodejmowanie decyzji. W
w szczególności wpływają one na sposób rsyncrypto decyduje, kiedy powrócić do IV.
Tych opcji nie należy używać, chyba że rozumiesz, co robisz. Oni są
nie są niebezpieczne, ponieważ nigdy nie spowodują utraty danych. Dowolna wartość powinna nadal zezwalać
odszyfrowanie pliku. Mają wpływ na rsyncwydajność.
Te opcje są dostępne tylko po to, aby umożliwić szybką reakcję w przypadku pojawienia się problemu z bezpieczeństwem
z ich wartościami domyślnymi. Jeśli tak się stanie, może pojawić się porada, podająca nowe wartości
wypełnić jako obejście. Dopóki tak się nie stanie, większości użytkowników zaleca się pozostawienie tych opcji
sam.
THE TRIM OPCJA
Podczas biegu rsyncrypto w trybie rekurencyjnym struktura katalogów pod katalog src jest ponownie
utworzony w ramach dstdir, z jednym katalogiem usuniętym ze ścieżki. Innymi słowy, jeśli my
mieć strukturę katalogów, która ma:
a/b/c/plik
bieganie rsyncrypto w katalog src „a/b”, oraz dstdir z „f” utworzy „f/b/c/file”.
--przycinać opcje pozwalają użytkownikowi określić, z ilu części ma zostać przycięty katalog src podczas tworzenia
katalogi pod dstdir oraz katalog kluczy. Jeśli w powyższym przykładzie powiedzieliśmy --przycinać=0 wtedy
„f/a/b/c/file” zostałby utworzony. Podobnie, gdybyśmy powiedzieli --przycinać=2 następnie „f/c/plik”
zostałby stworzony.
Błędem jest podawanie wartości przycięcia większej niż liczba części katalogowych
faktycznie w katalog src. W powyższym przykładzie --przycinać=3 spowodowałoby błąd.
BEZPIECZEŃSTWO
Wartości rzutów wpływają w nie do końca znanym stopniu na to, ile informacji „wycieka”
między tekstem jawnym a tekstem zaszyfrowanym. Domyślne wartości mają przeciekać mniej niż 20
bity zagregowanych informacji o zwykłym pliku tekstowym na każde 8 KB, w najgorszym przypadku.
Mamy nadzieję, że te wartości zostaną uznane za wystarczająco bezpieczne dla większości zastosowań. Jeśli jednak twój
los kraju jest zagrożony, użyj szyfrowania niezoptymalizowanego pod kątem rsync, takiego jak to dostarczone
by openssl(1).
PRZYKŁADY ROLNICZE SEMINARIUM
Przed rozpoczęciem korzystania z rsyncrypto będziesz potrzebować klucza publicznego w formacie certyfikatu X509.
Najszybszym sposobem wygenerowania jednego z nich jest użycie pliku openssl(1) opakowanie. Aby wygenerować
nowy 1536-bitowy klucz RSA jako „backup.key” i przechowuj odpowiedni niezaszyfrowany klucz publiczny
w „backup.crt” użyj następującego polecenia:
openssl req -nodes -newkey rsa:1536 -x509 -keyout kopia zapasowa.klucz -out kopia zapasowa.crt
Nie ma znaczenia, co odpowiesz na szczegóły certyfikatu ani kiedy to ustawisz
wygasać. Rsyncrypto ignoruje wszystko w certyfikacie oprócz rzeczywistego klucza.
Aby zaszyfrować plik „data” do „data.enc”, przechowując określony klucz pliku w „data.key”,
biegać:
rsyncrypto dane dane.enc dane.klucz kopia zapasowa.crt
Wszędzie w tych przykładach, gdzie użyto „backup.crt”, można również użyć „backup.key”.
Powyższe może również mieć „backup.key” jako ostatni argument. Jeśli te przykłady są wymienione
konkretnie „backup.key”, oznacza to, że „backup.crt” nie może być używany zamiast.
Zostanie utworzony plik „data.enc”. Jeśli „data.key” istnieje z poprzedniego uruchomienia, to plik new
utworzony „data.enc” będzie miał ten sam klucz symetryczny i inne atrybuty, dzięki czemu zostanie zachowany
przyjazność rsync szyfrowania. Dlatego ważne jest, aby podać wszelkie wcześniejsze
plik klucza dla danych, jeśli taki jest dostępny.
Wiersz polecenia do odszyfrowania pliku zależy od tego, czy plik klucza jest używany, kiedy
plik został zaszyfrowany. Jeśli to zrobisz, odszyfrowanie może nastąpić tylko przy użyciu publicznego
klucz, za pomocą następującego polecenia:
rsyncrypto -d dane.enc dane.dec kopia zapasowa klucza danych.crt
Jeśli plik klucza został utracony, do odzyskania go z zaszyfrowanego pliku należy użyć klucza prywatnego
plik za pomocą następującego polecenia:
rsyncrypto -d data.enc data.dec data.key kopia zapasowa.klucza
„data.key” zostanie utworzony przez powyższe polecenie, podobnie jak „data.dec”.
Użycie rsyncrypto do szyfrowania całych katalogów jest podobne, z zamianą nazw katalogów
nazwy plików w powyższym przykładzie. Aby zaszyfrować zawartość katalogu o nazwie „dane” do pliku a
katalog o nazwie „enc”, przechowujący klucze symetryczne w katalogu o nazwie „klucze”, uruchom
następujące polecenie:
rsyncrypto -r data enc klucze backup.crt
Tak jak poprzednio, katalogi „enc” i „keys” zostaną utworzone, jeśli jeszcze nie istnieją.
Struktura katalogów pod „zwykłym” zostanie zduplikowana pod „enc” i pod „keys”.
Oznacza to, że jeśli w „danych” znajduje się plik o nazwie „foo”, zaszyfrowane pliki o nazwie „foo”
zostanie utworzony w „enc”, a plik klucza o nazwie „foo” zostanie utworzony w „keys”. W
innymi słowy, pierwsza część ścieżki do „data/foo” (część, która mówi „dane”) to
wyeliminowany ze ścieżki, a to określa nazwę plików w „enc” i
"Klucze".
Jeśli wymagane jest inne przycięcie, można użyć opcji --trim. Aby mieć rsyncrypto
utwórz „enc/data/foo” zamiast powyższego, użyj następującego polecenia:
rsyncrypto -r --trim=0 data enc klucze backup.crt
Zamiast pobierać wszystkie pliki z jednego katalogu, możliwe jest dostarczenie rsyncrypto
z listą plików i katalogów do zaszyfrowania. Odbywa się to za pomocą opcji --filelist
opcja taka jak:
rsyncrypto --filelist --trim=0 lista enc kluczy backup.crt
„enc” i „keys” zachowują to samo znaczenie, co poprzednio. „lista” to plik tekstowy z listą, jeden
w wierszu plików do zaszyfrowania. Opcja --trim=0 mówi, że jeśli lista zawiera wiersz
mówiąc „/home/foo/bar”, który określa nazwę pliku, a następnie zaszyfrowany plik o nazwie
Zostanie utworzone „enc/home/foo/bar”. Bez niego plik będzie się nazywał „enc/foo/bar”.
Podobnie, z opcją --trim=2, plik zostanie utworzony jako „enc/bar”.
Często problemem jest to, że nazwy plików nie są szyfrowane. Jeśli tak jest, możemy
poproś rsyncrypto o zaszyfrowanie nazw plików, a także samych plików. Rsyncrypto nie
faktycznie zaszyfrować nazwy plików. Zamiast tego zastępuje rzeczywistą nazwę pliku losową
seria znaków. Odwzorowanie między rzeczywistą nazwą pliku a zniekształconą nazwą to
przechowywane w pliku mapowania.
rsyncrypto --name-encrypt=map --trim=0 -r zwykły enc klucze backup.crt
Spowoduje to zaszyfrowanie „zwykłej” struktury katalogów do enc, dokładnie tak jak poprzednio. w odróżnieniu
wcześniej wszystkie pliki będą znajdować się bezpośrednio w katalogu „enc” i będą miały nazwę a
bezsensowny bełkot. W bieżącym katalogu zostanie utworzony plik o nazwie „mapa”.
zawiera mapę między szczytem a prawdziwą nazwą pliku. Ponadto dwa pliki,
o nazwie „enc/filemap” i „keys/filemap”, również zostaną utworzone. Są to zaszyfrowane i
plik klucza odpowiadający wspomnianemu powyżej plikowi „map”. Podczas odszyfrowywania, jeśli robi to „map”.
nie istnieje, zostanie utworzony przez odszyfrowanie „enc/filemap”.
Ważny Uwagi: Podczas szyfrowania nazw plików niezwykle ważne jest podanie
poprawne wartości --trim, zarówno podczas szyfrowania, jak i deszyfrowania. Jeśli tego nie zrobi, będzie
powodują, że rsyncrypto szuka nieistniejących nazw plików i nie udaje się zlokalizować plików
odszyfrować.
Korzystaj z rsyncrypto online, korzystając z usług onworks.net