abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 0
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 10
    28.4. 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 486 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Šifrovaný adresář v Linuxu (2. aktualizace)

    6.5.2012 21:11 | Přečteno: 1439× | GNU/Linux | poslední úprava: 9.5.2012 09:01

    Tento zápisek pojednává o vytvoření adresáře, jehož obsah bude (automaticky) šifrován pomocí GNU Privacy Guard. Skripty nejsou dokonalé. Můžete si s nimi dělat, co chcete. Inspiroval jsem se (zdroj): http://legroom.net/howto/gnupg.

    Vylepšené skripty pro (de)šifrování souborů v aktuálním adresáři

    Když už jsem se pustil do psaní skriptů pro (de)šifrování, tak mi nedá, abych zde neuvedl vylepšenou verzi těchto skriptů. 2. aktualizace: místo příkazu rm používám bezpečnější příkaz srm (secure remove, secure_deletion toolkit). Též může být třeba použít příkazy smem, sfill a sswap:

    #!/bin/bash
    # zasifruj.sh
    source /cesta/nastaveni || { echo 'Nepodarilo se nacist soubor s nastavenim' ; exit -1; }
    
    GLOBIGNORE='*.gpg:.*.gpg'
    for soubor in * .* ; do
       if [ -f "${soubor}" ] ; then
          gpg --homedir "${KLICE}" --encrypt-files --batch -q \
          --recipient 'Jmeno Prijmeni' "${soubor}"
          if [ $? -eq 0 ] ; then
             case "${1}" in
             [aA]) srm "${soubor}"
             ;;
             esac
          fi
       fi
    done
    

    Skript pro dešifrování:

    #!/bin/bash
    # desifruj.sh
    source /cesta/nastaveni || { echo 'Nepodarilo se nacist soubor nastaveni' ; exit -1; }
    
    for soubor in *.gpg .*.gpg ; do
       if [ -f "${soubor}" ] ; then
          echo 'heslo' | gpg --homedir "${KLICE}" --passphrase-fd 0 --decrypt-file --batch "${soubor}"
          if [ $? -eq 0 ] ; then
             case "${1}" in
             [aA]) srm "${soubor}"
             ;;
             esac
          fi
       fi
    done
    

    nastaveni:

    KLICE='/cesta/.gnupg'
    

    Co bude třeba

    Budeme potřebovat program GNU Privacy Guard a jim vygenerované klíče, jeden veřejný a jeden privátní. Asymetrické šifrování jsem zvolil, protože lze data zašifrovat veřejným klíčem bez jakékoli znalosti hesla (passphrase). K dešifrování už je heslo nutné.

    Upozornění

    Používejte silná hesla (tzn. NE slovo ze slovníku apod.), která nikdy nezapomenete. Adresáři (a jeho obsahu) obsahující data pro program GNU Privacy Guard nastavte oprávnění hodně restriktivně -- např. pomocí chmod -R go-rwx ~/.gnupg. Je dobrou myšlenkou mít (privátní) klíč(e) na jiném médiu, než jsou zašifrovaná data.

    Dva primitivní shellové skripty (Bash) (jejich aktualizovaná verze viz výše)

    Následují dva skripty pro šifrování/dešifrování. Šifrují se všechny soubory v aktuálním adresáři, které nekončí gpg. Dešifrují se všechny soubory v aktuálním adresáři končíčí gpg. A nyní už slíbené skripty + jeden "konfigurační soubor":

    # nastaveni
    # Spolecne nastaveni k zasifruj.sh a desifruj.sh
    KLICE='/cesta/.gnupg'
    

    Skript pro zašifrování dat:

    #!/bin/bash
    # zasifruj.sh
    # Skript pro zasifrovani obsahu aktualniho adresare.
    # Vsimnete si volby -A programu ls
    
    # 1. parametr skriptu rika, zda maji byt nesifrovane soubory po zasifrovani vymazany nebo ne.
    # Nastaveni (cesta) a klice se budou brat z promenne KLICE.
    source nastaveni
    
    case "${1}" in
    [aA]) gpg --homedir "${KLICE}" --encrypt-files --batch -q \
          --recipient 'Jmeno Prijmeni majitele verejneho klice' $(ls -A | grep -v gpg$)
       rm -f $(ls -A | grep -v gpg$)
       echo ''
       echo 'Nezasifrovane soubory vymazany.'
       echo ''
    ;;
    *) gpg --homedir "${KLICE}" --encrypt-files --batch -q \
       --recipient 'Jmeno Prijmeni majitele klice' $(ls -A | grep -v gpg$)
       echo ''
       echo 'Nezasifrovane soubory nebyly vymazany.'
       echo ''
    ;;
    esac
    

    Druhý skript pro dešifrování obsahu aktuálního adresáře. Budete dotázáni na heslo (passphrase) k privátnímu klíči:

    #!/bin/bash
    # desifruj.sh
    # slouzi pro desifrovani souboru v aktualnim adresari
    source nastaveni
    gpg --homedir "${KLICE}" --decrypt-file *.gpg .*.gpg
    echo 'Smazat zasifrovane soubory (a/n)?'
    read vstup
    case "${vstup}" in
    [aA]) rm *.gpg .*.gpg
       echo ''
       echo 'Zasifrovane soubory byly vymazany.'
       echo ''
    ;;
    *) echo ''
       echo 'Zasifrovane soubory NEBYLY vymazany.'
       echo ''
    ;;
    esac
    

    Tip

    Pokud do skriptu, který se spouští před vypnutím/restartováním počítče umístíte něco takového:

    ADR_ZASIF='/cesta'
    cd "${ADR_ZASIF}"
    su prihl_jmeno -c '/cesta/zasifruj.sh a'
    

    Tak se vám tímto před vypnutím/restartem zašifruje obsah adresáře ${ADR_ZASIF}, což je určitě milé. :-)

           

    Hodnocení: 60 %

            špatnédobré        

    Anketa

    Mělo by GnuPG mít volbu „smazat soubor po zašifrování“?
     (0 %)
     (60 %)
     (40 %)
    Celkem 15 hlasů

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    6.5.2012 21:38 Lenny_ | skóre: 10 | blog: lenny | Brno
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    https://launchpad.net/ecryptfs - a znovu a znovu vymýšlíme kolo...
    6.5.2012 21:43 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Pokud jsem ten odkaz dobře pochopil, tak se jedná o šifrování na úrovni systému souborů. Já zůstávám na úrovni souborů.

    6.5.2012 22:52 Lenny_ | skóre: 10 | blog: lenny | Brno
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Není to tak úplně přesné, jedná se o abstraakční FUSE fs, který šiftuje adresář na úrovni souborů, stejně jako ten skript s gpg. Stačí se podívat do Ubuntu, používají to tam
    7.5.2012 11:02 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Přes FUSE funguje encfs (který mimochodem dělá přesně to, co mají dělat ty skripty a navíc za běhu). Jetli jsem to dobře pochopil, tak ecryptfs běží na úrovní kernelu (což má své výhody i nevýhody). Nebo mi někde něco uniká? Jinak ten skript je opravu vynalézání kola a skoro bych řek, že ne lepšího kola, ale horšího.
    6.5.2012 21:43 Debian
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    A brzy možná vymyslíme trakař...
    Bluebear avatar 6.5.2012 23:44 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Vymýšlet znovu kolo není nutně špatně, pokud se snažíme vyrobit lepší kolo než kdykoli předtím. Přinejmenším je to dobré intelektuální cvičení.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    Bystroushaak avatar 7.5.2012 11:45 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Není to špatné i kdyby ti z kola nakonec vyšel čtverec, protože se na tom člověk dost naučí.
    xkucf03 avatar 6.5.2012 23:39 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Chtělo by to ošetřit případ, kdy GPG selže a nezašifruje soubory – aby se nesmazaly → asi bych je procházel v cyklu a po úspěšném zašifrování bych daný soubor smazal, ne takhle hromadně. Když už to chceš řešit takhle.

    Jinak bych taky spíš doporučoval nějaké to EncFS nebo LUKS.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.5.2012 07:06 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Děkuju.

    7.5.2012 07:26 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    nebo LUKS.
    Přesně. Ono občas i samotné názvy souborů můžou leccos napovědět.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    7.5.2012 08:20 xm | skóre: 36 | blog: Osvobozený blog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    EncFS šifruje i názvy souborů a adresářů, jediné co pak může něco prozrazovat je adresářová struktura a délka souborů (i když ta je zaokrouhlená, nezůstává úplně stejná). To si holt člověk musí sám zvážit, jak velkou úroveň skrytosti (a tedy i věrohodné popiratelnosti) potřebuje.
    Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
    7.5.2012 09:13 Jinan Dvoulaločný
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Je ti jasné, že když ty soubory budeš neustále šifrovat, dešifrovat a mazat, tak ti na disku budou zůstávat ta původní nešifrovaná data? Nehledě na různé tempfajly, thumbnaily, indexační služby, swap, apod.
    7.5.2012 09:31 Stevko | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Keď používaš ls tak, ako používaš, tak to asi bude robiť problémy pri medzerách v názvoch súborov. Keď už sa používa bash, skúsil by som niečo také:
    shopt -s dotglob #hviezdička bude fungovať aj pre bodkované súbory
    rm -f ./!(*.gpg) # Zmažeme (rm môžeme nahradiť iným príkazom) súbory v aktuálnom adresári nekončiace na gpg a nebudú nám vadiť názvy súborov začínajúce mínusom.
    Aj to pravdepodobne bude mať chyby (čo ak tam súbory nekončiace .gpg nebudú?)

    Čím viac poznám bash, tým menej si myslím, že sa v tom dajú písať skripty, ktoré prežijú rôzne krajné prípady.
    Príspevok nemá byť ukončený spojením „môj názor“.
    xkucf03 avatar 7.5.2012 10:06 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    BTW: asi by neškodilo uvést zdroj, i když jde o takhle triviální skript.

    GNU Privacy Guard Tutorial
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.5.2012 10:40 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Jojo. Díky.

    xkucf03 avatar 7.5.2012 10:59 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Anketa
    Ještě tip na anketu:

    Mělo by GnuPG mít volbu „smazat soubor po zašifrování“?
    • ano – obyčejné smazání
    • ano – bezpečné (několikanásobný přepis)
    • ne – to si má zařídit uživatel sám
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Bystroushaak avatar 7.5.2012 11:48 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Anketa
    Imho ne, není třeba vytvářet bloby co umí všechno, když jsou běžně dostupné specializované nástroje (shred/wipe/srm).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.