30Aug

Hoe tekstbestanden met een wachtwoord te beveiligen met Vim op Linux( of macOS)

De vim-teksteditor, een standaardtool die is opgenomen onder Linux en macOS, kan tekstbestanden snel coderen met een wachtwoord. Het is sneller en handiger dan het coderen van een tekstbestand met een afzonderlijk hulpprogramma. Ga als volgt te werk om het in te stellen.

Zorg dat het systeem goed werkt Ondersteuning voor versleuteling

Sommige Linux-distributies, inclusief Ubuntu, bevatten standaard een minimale versie van vim, alleen bedoeld voor basisbewerking van de tekst. Ubuntu noemt dit pakket bijvoorbeeld 'vim-tiny'.Als u codering in zo'n minimale versie van vim probeert te gebruiken, ziet u het bericht 'Sorry, deze opdracht is niet beschikbaar in deze versie'.

Mogelijk moet je de volledige versie van vim installeren om deze functie op je Linux-distributie te krijgen. Op Ubuntu kunt u bijvoorbeeld de volledige versie van vim verkrijgen door de volgende opdracht uit te voeren:

sudo apt install vim

De standaardversie van vIM die wordt meegeleverd met macOS bevat coderingsondersteuning, dus u hoeft niets te installerenanders op een Mac. Start een terminalvenster vanuit Finder & gt;Toepassingen & gt;Hulpprogramma's & gt;Terminal en de opdrachten werken hetzelfde op macOS als op Linux.

Een bestand coderen met een wachtwoord

Het basisproces is relatief eenvoudig als u weet hoe u vi moet gebruiken. Als je dat niet doet, kun je worden opgehangen aan de modale interface van vi. Wanneer u een tekstbestand in vim opent, zijn er twee modi. Standaard bevindt u zich in een "opdrachtmodus", waar u de toetsen op uw toetsenbord kunt gebruiken om opdrachten uit te voeren. U kunt ook op "i" drukken om de "invoegmodus" te openen, waar u normaal kunt typen en de cursor met de pijltjestoetsen kunt verplaatsen, net als bij andere teksteditors. Om de invoegmodus te verlaten, druk op "Esc" en u keert terug naar de bedieningsmodus.

Start eerst vim. Met de volgende opdracht start u bijvoorbeeld vim en verwijst u naar een bestand met de naam 'example' in de huidige map. Als dat bestand niet bestaat, maakt vim een ​​bestand met de naam 'example' in de huidige map wanneer u het opslaat:

vi example

U kunt ook vi op een ander pad plaatsen met een commando zoals de onderstaande. U hoeft geen bestand in de huidige map aan te maken.

vi /path/to/ bestand

Bewerk het bestand normaal. U kunt bijvoorbeeld op "i" drukken om de invoegmodus te openen en vervolgens de tekst normaal te typen. Druk tijdens het bewerken van een bestand op Esc om ervoor te zorgen dat u zich in de opdrachtmodus bevindt en niet in de modus invoegen. Typ: X en druk op Enter.

U wordt gevraagd om een ​​wachtwoord in te voeren, waarmee het tekstbestand wordt gecodeerd. Typ het wachtwoord dat je wilt gebruiken, druk op Enter en typ het nogmaals om te bevestigen. U moet dit wachtwoord invoeren wanneer u het bestand in de toekomst wilt openen.

Vim waarschuwt u standaard dat u een zwakke coderingsmethode gebruikt. We laten u later zien hoe u een veiligere versleutelingsmethode kunt gebruiken.

Er is een wachtwoord gekoppeld aan het huidige tekstbestand in Vim, maar u moet uw wijzigingen opslaan voordat het wachtwoord daadwerkelijk aan het bestand is toegewezen. Om dit te doen, drukt u op Esc om ervoor te zorgen dat u zich in de opdrachtmodus bevindt en typt u: wq en drukt u op Enter om het bestand naar schijf te schrijven en Vim te sluiten.

De volgende keer dat u probeert het bestand in Vim te openen, bijvoorbeeld door "vi voorbeeld" uit te voeren, zal Vim u om het wachtwoord vragen dat aan het bestand is gekoppeld.

Als u een verkeerd wachtwoord invoert, is de inhoud van het bestand onzin.

Waarschuwing : Sla het bestand niet op als u het opent en wartaal ziet. Hiermee worden de beschadigde gegevens in het bestand opgeslagen en worden de gecodeerde gegevens overschreven. Gewoon uitvoeren: q om Vim af te sluiten zonder het bestand op schijf op te slaan.

Er is nog een andere sneltoets die u hier kunt gebruiken. In plaats van een bestand met "vim /path/to/-bestand" te maken of te openen, kunt u de volgende opdracht uitvoeren om vim een ​​bestand te laten maken of openen en u onmiddellijk vragen om het bestand te coderen met een wachtwoord:

vi -x /path/to/-bestand

Opmerkingdat je hier een kleine x moet gebruiken, terwijl je een hoofdletter X moet gebruiken wanneer je de bijbehorende coderingsopdracht vanuit Vim uitvoert.

Hoe u krachtigere versleuteling in Vim kunt inschakelen

Vim gebruikt standaard zeer slechte codering voor deze bestanden. De standaard "zip" - of "pkzip" -versleutelingsmethode is achterwaarts compatibel met versies 7.2 en lager van vim. Jammer genoeg kan het zeer, zeer gemakkelijk worden gekraakt, zelfs op hardware uit de jaren 90.Zoals de officiële documentatie het zegt: "Het algoritme dat wordt gebruikt voor 'cryptmethod'" zip "is breekbaar. Een toets van 4 tekens in ongeveer een uur, een toets van 6 tekens in één dag( op een Pentium 133-pc). "

Gebruik geen pkzip-codering voor uw tekstdocumenten als u helemaal geen beveiliging wenst. Vim biedt echter betere coderingsmethoden. Versie 7.3 van Vim uitgebracht in 2010 heeft een "blowfish" -versleutelingsmethode toegevoegd, wat beter is. Versie 7.4.399 uitgebracht in 2014 bevatte een nieuwe Blowfish-coderingsmethode die beveiligingsproblemen in de oorspronkelijke "blowfish" -versleutelingsmethode oplost en deze "blowfish2" noemt.

Het enige probleem is dat bestanden die u maakt met sterkere coderingsmethoden deze nieuwere versies van Vim vereisen. Dus als je de "blowfish2" -codering wilt gebruiken, kun je dat bestand alleen openen met Vim-versies 7.4.399 en hoger. Zolang je daarmee akkoord gaat, moet je de sterkste versleutelingsmethode gebruiken die mogelijk is.

Om te controleren welke versleutelingsmethode een bestand gebruikt, opent u het bestand in vim, drukt u op de Esc-toets om er zeker van te zijn dat u in de commandomodus bent, typt u de volgende opdracht en drukt u op Enter.

: setlocal cm?

De "cm" staat hier voor "cryptmethode".

U ziet de versleutelingsmethode die wordt gebruikt voor het huidige bestand dat onderaan het vim-scherm wordt weergegeven.

Voer een van de volgende opdrachten uit om een ​​coderingsmethode te kiezen. De "blowfish2" -codering is het beste voor de beveiliging.

: setlocal cm = blowfish2: setlocal cm = blowfish: setlocal cm = zip

Nadat u uw coderingsalgoritme hebt geselecteerd, gebruikt u de opdracht: w om het bestand naar schijf te schrijven of voert u de opdracht: wq om het bestand naar schijf te schrijven en te stoppen.

De volgende keer dat je het bestand opnieuw opent in Vim, zal het niet klagen over een zwak versleutelingsalgoritme. U ziet ook het coderingsalgoritme dat u onder aan het vim-scherm hebt geselecteerd wanneer u het bestand opent.

Een wachtwoord wijzigen of verwijderen

Om een ​​wachtwoord uit een bestand te verwijderen, opent u dat bestand in Vim en voert u de opdracht: X uit. U wordt gevraagd een nieuwe coderingssleutel op te geven. Voer het nieuwe wachtwoord in dat u hier wilt gebruiken. Als u het wachtwoord volledig wilt verwijderen, laat u het wachtwoordveld leeg en drukt u tweemaal op Enter.

Sla het bestand op en sluit het daarna af met: wq. Het bestand wordt gedecodeerd, dus u wordt niet gevraagd om een ​​wachtwoord in te voeren wanneer u het bestand in de toekomst opent.

Vergeet niet welk wachtwoord dat u hebt ingesteld te onthouden of dat u in de toekomst geen toegang kunt krijgen tot de inhoud van het bestand.