Praktický tip, jak ukládat šifrované soubory pomocí editoru Vim. Ten má v sobě podporu šifrování zabudovanou.
Pod dnešním článkem o ukládání hesel někdo zmiňuje možnost šifrovat textové soubory pomocí Vim. Jakožto stoprocentní vimista tuhle možnost znám, ale hodně lidí o ní neví. Přitom je velmi jednoduchá a praktická.
Pokud chcete použít Vim k ukládání citlivých informací, není nic snazšího. Stačí začít editovat libovolný nový soubor a před uložením použít příkaz
:X
Pozor, je to velké X. Vim se vás zeptá dvakrát na frázi a soubor je připraven. Poté stačí klasicky uložit pomocí
:w
Druhou variantou je zavolat rovnou Vim s parametrem -x
. Tady je to x pro změnu malé, aby se to nepletlo.
Na disku se v každém případě po uložení objeví šifrovaný soubor. Při příštím načtení ho Vim sám pozná a zeptá se znovu na frázi. Takto šifrovaný soubor je pak možné přenášet pomocí libovolného veřejného kanálu, jen musíte dát pozor na dostatečně silné heslo.
Výhoda tohoto způsobu práce je, že se dešifrovaná podoba souboru nedostane na disk. Během editace jsou swap, undo i zálohy na disku také šifrované. Nemusíte se proto bát úniku otevřené podoby dat.
Od verze 7.3 nabízí Vim dvě různé šifry, do této verze uměl jen první z nich. Nastavují se pomocí
:set cm=zip :set cm=blowfish
Varianta zip je kompatibilní s PKZIP, ale je slabší. Blowfish je považován za velmi silný, ale zase neřeší integritu dat. Teoreticky vám tak může někdo třeba mazat části souboru a vy si toho nemusíte všimnout. Ovšem číst data vám nemůže.
Ve výchozím stavu se ovšem používá starší PKZIP, který je kompatibilní s Vim před verzí 7.3. Doporučuji proto do konfiguračního souboru přidat volbu pro blowfish.
Anebo použít plugin pro gpg:
https://github.com/jamessan/vim-gnupg/blob/master/plugin/gnupg.vim
Pro symetrické šifrování jako výchozí dát do ~/.vimrc
let g:GPGPreferSymmetric=1
Ve vim používam gpg. A jeho automatické použití važu na připonu souboru .gpg (šifrováno mým klíčem) nebo .gpgs (šifrováno symetrickou šifrou)
"sifrovane soubory
augroup encrypted
au!
autocmd BufReadPre,FileReadPre *.gpg set viminfo=
autocmd BufReadPre,FileReadPre *.gpg set noswapfile
autocmd BufReadPre,FileReadPre *.gpg set bin
autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null
autocmd BufReadPost,FileReadPost *.gpg set nobin
autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save
autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r")
autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null
autocmd BufWritePost,FileWritePost *.gpg u
augroup END
augroup encrypteds
au!
autocmd BufReadPre,FileReadPre *.gpgs set viminfo=
autocmd BufReadPre,FileReadPre *.gpgs set noswapfile
autocmd BufReadPre,FileReadPre *.gpgs set bin
autocmd BufReadPre,FileReadPre *.gpgs let ch_save = &ch|set ch=2
autocmd BufReadPost,FileReadPost *.gpgs '[,']!gpg -d 2> /dev/null
autocmd BufReadPost,FileReadPost *.gpgs set nobin
autocmd BufReadPost,FileReadPost *.gpgs let &ch = ch_save|unlet ch_save
autocmd BufReadPost,FileReadPost *.gpgs execute ":doautocmd BufReadPost " . expand("%:r")
autocmd BufWritePre,FileWritePre *.gpgs '[,']!gpg -ca 2>/dev/null
autocmd BufWritePost,FileWritePost *.gpgs u
augroup END
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 112 285×
Přečteno 89 762×
Přečteno 73 155×
Přečteno 58 108×
Přečteno 54 434×