Skip to content

Jak chronić pliki tekstowe hasłem za pomocą Vima w systemie Linux (lub macOS)

28 de lipiec de 2021
img 58cef38866127

Edytor tekstu vim, standardowe narzędzie dostępne w systemach Linux i macOS, może szybko szyfrować pliki tekstowe za pomocą hasła. Jest to szybsze i wygodniejsze niż szyfrowanie pliku tekstowego za pomocą oddzielnego narzędzia. Oto jak to skonfigurować.

Upewnij się, że Vim Twojego systemu obsługuje szyfrowanie

Niektóre dystrybucje Linuksa, w tym Ubuntu, domyślnie zawierają minimalną wersję vima, przeznaczoną tylko do podstawowej edycji tekstu. Na przykład Ubuntu nazywa ten pakiet „vim-tiny”. Jeśli spróbujesz użyć szyfrowania w tak minimalnej wersji vima, zobaczysz komunikat „Przepraszamy, to polecenie nie jest dostępne w tej wersji”.

1627468182 112 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Być może będziesz musiał zainstalować pełną wersję vima, aby uzyskać tę funkcję w swojej dystrybucji Linuksa. Na przykład w Ubuntu możesz pobrać pełną wersję vima, uruchamiając następujące polecenie:

sudo apt install vim

1627468182 905 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Wersja vima domyślnie dołączona do systemu macOS zawiera obsługę szyfrowania, więc nie musisz instalować niczego innego na komputerze Mac. Po prostu uruchom okno terminala z Findera> Aplikacje> Narzędzia> Terminal, a polecenia będą działać tak samo w systemie MacOS, jak w systemie Linux.

Jak zaszyfrować plik za pomocą hasła

Podstawowy proces jest stosunkowo prosty, jeśli wiesz, jak używać vi. Jeśli tego nie zrobisz, możesz zawiesić się na interfejsie modalnym vi. Kiedy otwierasz plik tekstowy w vimie, są dwa tryby. Domyślnie znajdujesz się w „trybie poleceń”, w którym możesz używać klawiszy na klawiaturze do wykonywania poleceń. Możesz także nacisnąć „i”, aby przejść do „trybu wstawiania”, w którym możesz pisać normalnie i przesuwać kursor za pomocą klawiszy strzałek, tak jak w innych edytorach tekstu. Aby wyjść z trybu wstawiania, naciśnij „Esc” i wrócisz do trybu poleceń.


Najpierw uruchom vima. Na przykład następujące polecenie uruchomi vim i wskaże plik o nazwie „przykład” w bieżącym katalogu. Jeśli ten plik nie istnieje, vim utworzy plik o nazwie „przykład” w bieżącym katalogu, kiedy go zapiszesz:

vi example

Możesz także wskazać vi na inną ścieżkę za pomocą polecenia takiego jak poniżej. Nie musisz tworzyć pliku w bieżącym katalogu.

vi /path/to/file

1627468182 985 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Edytuj plik normalnie. Na przykład możesz nacisnąć „i”, aby przejść do trybu wstawiania, a następnie wpisać tekst normalnie. Podczas edytowania pliku naciśnij klawisz Esc, aby upewnić się, że jesteś w trybie poleceń, a nie w trybie wstawiania. Rodzaj :X i naciśnij Enter.

1627468182 284 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Zostaniesz poproszony o podanie hasła, którym plik tekstowy zostanie zaszyfrowany. Wpisz hasło, którego chcesz użyć, naciśnij Enter i wpisz je ponownie, aby potwierdzić. Hasło to trzeba będzie wpisać za każdym razem, gdy zechcesz otworzyć plik w przyszłości.

Vim ostrzeże, że domyślnie używasz słabej metody szyfrowania. Później pokażemy, jak korzystać z bezpieczniejszej metody szyfrowania.

1627468182 431 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Hasło będzie powiązane z bieżącym plikiem tekstowym w Vimie, ale będziesz musiał zapisać zmiany, zanim hasło zostanie faktycznie przypisane do pliku. Aby to zrobić, naciśnij klawisz Esc, aby upewnić się, że jesteś w trybie poleceń, a następnie wpisz :wq i naciśnij Enter, aby zapisać plik na dysku i wyjść z Vima.

1627468182 5 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie


Następnym razem, gdy spróbujesz otworzyć plik w Vimie — na przykład, uruchamiając „vi example„—Vim poprosi cię o hasło powiązane z plikiem.

1627468183 257 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Jeśli wprowadzisz nieprawidłowe hasło, zawartość pliku będzie bezużyteczna.

Ostrzeżenie: Nie zapisuj pliku, jeśli go otworzysz i zobaczysz bełkot. Spowoduje to zapisanie uszkodzonych danych z powrotem do pliku i nadpisanie zaszyfrowanych danych. Po prostu biegnij :q aby wyjść z Vima bez zapisywania pliku na dysku.

1627468183 474 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Jest jeszcze jeden skrót, którego możesz użyć tutaj. Zamiast tworzyć lub otwierać plik za pomocą „vim /path/to/file“, możesz uruchomić następujące polecenie, aby vim utworzył lub otworzył plik i natychmiast poprosi o zaszyfrowanie pliku hasłem:

vi -x /path/to/file

Zauważ, że musisz użyć małej litery x tutaj, podczas gdy musisz użyć dużej litery X podczas uruchamiania powiązanego polecenia szyfrowania z wnętrza Vima.

1627468183 242 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Jak włączyć silniejsze szyfrowanie w Vim

Domyślnie Vim używa bardzo złego szyfrowania dla tych plików. Domyślna metoda szyfrowania „zip” lub „pkzip” jest wstecznie kompatybilna z wersjami vima 7.2 i starszymi. Niestety można go złamać bardzo, bardzo łatwo – nawet na sprzęcie z lat 90-tych. Jako oficjalna dokumentacja ujmuje to: „Algorytm używany do„kryptometody”„zip” jest możliwy do złamania. Klucz składający się z 4 znaków w około godzinę, klucz składający się z 6 znaków w ciągu jednego dnia (na komputerze Pentium 133).”


Nie powinieneś używać szyfrowania pkzip dla swoich dokumentów tekstowych, jeśli chcesz w ogóle zabezpieczyć. Jednak Vim zapewnia lepsze metody szyfrowania. Wersja 7.3 Vima wydana w 2010dodano metodę szyfrowania „blowfish”, która jest lepsza. Wersja 7.4.399 wydana w 2014 zawiera nową metodę szyfrowania Blowfish, która rozwiązuje problemy bezpieczeństwa w oryginalnej metodzie szyfrowania „blowfish” i nazywa ją „blowfish2”.

Jedynym problemem jest to, że pliki, które tworzysz z silniejszymi metodami szyfrowania, wymagają tych nowszych wersji Vima. Tak więc, jeśli chcesz użyć szyfrowania „blowfish2”, będziesz mógł otworzyć ten plik tylko w wersji Vima 7.4.399 i nowszych. Dopóki to nie przeszkadza, powinieneś używać najsilniejszej możliwej metody szyfrowania.

Aby sprawdzić, której metody szyfrowania używa plik, otwórz plik w vim, naciśnij klawisz Esc, aby upewnić się, że jesteś w trybie poleceń, wpisz następujące polecenie i naciśnij Enter.

:setlocal cm?

„cm” oznacza tutaj „cryptmethod”.

1627468183 154 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Zobaczysz metodę szyfrowania używaną dla bieżącego pliku wyświetlaną na dole ekranu vima.

1627468183 921 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Aby wybrać metodę szyfrowania, uruchom jedno z następujących poleceń. Szyfrowanie „blowfish2” jest najlepsze dla bezpieczeństwa.

:setlocal cm=blowfish2

:setlocal cm=blowfish

:setlocal cm=zip

1627468183 755 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Po wybraniu algorytmu szyfrowania użyj :w polecenie zapisu pliku na dysku lub :wq polecenie, aby zapisać plik na dysku i wyjść.

1627468183 558 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie


Następnym razem, gdy ponownie otworzysz plik w Vimie, nie będzie on narzekał na słaby algorytm szyfrowania. Zobaczysz również algorytm szyfrowania, który wybrałeś na dole ekranu vima po otwarciu pliku.

1627468184 574 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Jak zmienić lub usunąć hasło

Aby usunąć hasło z pliku, otwórz ten plik w Vimie i uruchom :X Komenda. Zostaniesz poproszony o podanie nowego klucza szyfrowania. Wpisz tutaj nowe hasło, którego chcesz użyć. Aby całkowicie usunąć hasło, pozostaw pole hasła puste i po prostu dwukrotnie naciśnij Enter.

Zapisz plik i wyjdź później za pomocą :wq .Plik zostanie odszyfrowany, więc nie będziesz proszony o podanie hasła podczas otwierania pliku w przyszłości.

1627468184 413 Jak chronic pliki tekstowe haslem za pomoca Vima w systemie

Pamiętaj, aby zapamiętać dowolne ustawione hasło, w przeciwnym razie nie będziesz mieć dostępu do zawartości pliku w przyszłości.

Czy ten post był pomocny?