Ką užšifravome, tą iš iššifruosim

 Iššifruojame užšifruotus failus: Naudingas scenarijus su patobulinimo idėjomis

 

Ankstesniame įraše, užšifravome svarbius failus naudodami gpg įrankį. Dabar atėjo laikas juos iššifruoti ir pasiekti turinį. Šiame įraše pristatysime scenarijų, kuris padės lengvai naršyti užšifruotus failus ir juos iššifruoti. Taip pat aptarsime galimus panaudojimo būdus, patobulinimus ir idėjas, kaip šį scenarijų pritaikyti savo poreikiams.

Scenarijaus veikimas

Scenarijus susideda iš trijų pagrindinių funkcijų:

  1. show_dirs(): Ši funkcija parodo visų katalogų, esančių jūsų namų aplanke, sąrašą. Galite pasirinkti bet kurį iš šių katalogų, kad pereitumėte prie jo.
  2. show_encrypted_files(): Pasirinkus katalogą, ši funkcija parodo visų jame esančių užšifruotų failų (su .gpg plėtiniu) sąrašą. Galite pasirinkti bet kurį iš šių failų, kad jį iššifruotumėte.
  3. decrypt_file(): Ši funkcija paprašys jūsų įvesti GPG rakto slaptažodį ir tada iššifruos pasirinktą failą. Sėkmingai iššifravus, failas bus be .gpg plėtinio.

Naudojimo būdai

Šį scenarijų galite naudoti įvairiems tikslams:

  • Lengvai naršyti užšifruotus failus savo namų aplanke.
  • Pasirinkite ir iššifruokite konkrečius failus, kurių jums reikia.
  • Automatizuokite iššifravimo procesą, jei turite daug užšifruotų failų.

Patobulinimai

Scenarijų galima patobulinti keliais būdais:

  • Pridėti galimybę iššifruoti kelis failus vienu metu.
  • Leidžiama pasirinkti išvesties katalogą iššifruotiems failams.
  • Integruoti klaidų tvarkymo mechanizmus, kad būtų rodomi aiškesni pranešimai apie problemas.
  • Sukurti grafišką sąsają patogesniam naudojimui.

Idėjos pritaikymui

Šį scenarijų galite pritaikyti savo poreikiams įvairiais būdais:

  • Pakeiskite jį, kad iššifruotų kitus failų tipus, pvz., vaizdus ar archyvus.
  • Integruokite jį su kitomis savo naudojamomis programomis ar scenarijais.
  • Sukurkite savo funkcijas, kad scenarijus atitiktų jūsų specifinius poreikius.

Apibendrinimas

Šis scenarijus yra naudingas įrankis, skirtas lengvai iššifruoti užšifruotus failus. Jį galima patobulinti ir pritaikyti įvairiais būdais, kad jis atitiktų jūsų poreikius.

Nepamirškite reguliariai kurti atsargines kopijas ir laikyti savo GPG raktą saugioje vietoje!


#!/bin/bash
 
# Funkcija, kuri rodo katalogų sąrašą $HOME direktorijoje
show_dirs() {
    cd "$HOME" || exit 1
    # Naudojame find, kad rastume tik neslaptus katalogus pirmame lygyje
    dirs=($(find . -maxdepth 1 -type d -not -path '*/\.*'))
    dirs=("${dirs[@]:1}") # Pašaliname pirmąjį elementą (.) kuris yra $HOME
    dir_names=()
    for dir in "${dirs[@]}"; do
        dir_names+=("$(basename "$dir")")
    done
    select dir in "${dir_names[@]}"; do
        if [ -d "$dir" ]; then
            cd "$dir" || exit 1
            break
        else
            echo "Netinkamas pasirinkimas, bandykite dar kartą."
        fi
    done
}
 
# Funkcija, kuri rodo užšifruotų failų sąrašą pasirinktame kataloge
show_encrypted_files() {
    encrypted_files=(*.gpg)
    if [ "${#encrypted_files[@]}" -eq 0 ]; then
        echo "Šiame kataloge nėra užšifruotų failų."
        exit 1
    fi
    select encrypted_file in "${encrypted_files[@]}"; do
        if [ -f "$encrypted_file" ]; then
            break
        else
            echo "Netinkamas pasirinkimas, bandykite dar kartą."
        fi
    done
}
 
# Funkcija, kuri dešifruoja pasirinktą failą
decrypt_file() {
    echo "Įveskite GPG rakto slaptažodį:"
    read -s password
    gpg --output "${encrypted_file%.gpg}" --decrypt --batch --yes --passphrase "$password" "$encrypted_file"
    if [ $? -eq 0 ]; then
        echo "Failas '$encrypted_file' sėkmingai iššifruotas."
    else
        echo "Klaida dešifruojant failą '$encrypted_file'."
    fi
}
 
# Pagrindinis scenarijaus kodas
show_dirs
show_encrypted_files
decrypt_file

Komentarai

Populiarūs šio tinklaraščio įrašai

Configuring a NixOS firewall for everyday use

Setting up syncthing as a service on openSUSE and other Linux distributions

Monitoring SFTP server updates with Python