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í
×
    včera 16:00 | Komunita

    Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | IT novinky

    Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.

    Ladislav Hagara | Komentářů: 6
    včera 12:44 | Upozornění

    Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Pozvánky

    Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.

    Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »
    Uprdkávač | Komentářů: 0
    29.6. 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 10
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 31
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 3
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 335 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

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

    6.5.2012 21:11 | Přečteno: 1452× | 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.