Bash-skriptid on süsteemiadministraatori töö oluline osa. Need võimaldavad teil automatiseerida nii igapäevaseid kui ka kriitilisi ülesandeid.
Skriptide üks parimaid omadusi on see, et need saavad töötada iseseisvalt ilma inimese sekkumiseta, kuid mõnikord võib kasutaja paroole nõudvate toimingute automatiseerimine olla keeruline. Vaatame, kuidas saate turvaliselt automatiseerida paroole nõudvaid skripte ilma turvalisust ohustamata.
Lihtsa skripti loomine
Oletame, et soovite luua lihtsa skripti, mis varundab teie Linuxi kodukausta kaugemasse asukohta, et saaksite oma andmed andmete kadumise korral hõlpsalt taastada.
Alustage oma kodukausta Bashi skriptifaili loomisega, puutekäsku kasutades või mõni muu meetod ja nimetage see backup_home.sh. Võite vabalt kasutada mis tahes nime ja kataloogi, mis teile meeldib.
Skript kasutab rsync käsk, võimas failide kopeerimistööriist, et varundada kõik teie kohalikus kodukataloogis olevad failid kaugserverisse.
Kopeerige järgmise skripti sisu ja kleepige see oma Bashi faili. Ärge unustage asendada kasutaja john oma kohaliku kodukasutaja õige nimega. Sisestage ka kaugserveri õige kasutajanimi ja IP-aadress.
#!/bin/bash
#Kopeerige andmed kaugserverisse
rsync -avl --mkpath /home/john kasutajanimi@pult_server/home/Backup
Kui teil pole testimiseks kaugserverit, saate seda lihtsalt teha installige VirtualBox ja seadistage VM oma kohalikus masinas. Kasutage kaugserverina VM-i külalist.
Salvestage fail. Skripti käivitamiseks peate andma sellele käsu abil täitmisõiguse sudo chmod 755. Kõik kasutajad saavad skripti käivitada, kuid ainult sudo kasutajad saavad faili muuta.
Lõpuks käivitage Bashi skript terminalist, kasutades käsku:
./backup_home.sh
Iga kord, kui käivitate selle skripti, palutakse teil sisestada kaugserveri parool. See pole ideaalne, kui soovite skripti käivitada ilma inimese sekkumiseta, näiteks Croni kasutamisel.
Parooliga sisselogimise automatiseerimine
Installige sshpass, mitteinteraktiivne paroolipakkuja, teie kohalikus arvutis või arvutis, kust skripti käivitate.
Debianil põhinevates distroos
Kui kasutate Debianil põhinevat distributsiooni, nagu Ubuntu, Pop!_OS ja Lubuntu:
sudo apt värskendada && sudo apt installida sshpass
RHELis ja Fedoras
dnf installida sshpass
Pärast sshpassi installimist muutke skripti nii, et see näeks välja järgmine.
#!/bin/bash
#Kopeerige andmed kaugserverisse
sshpass -p "sinu parool" rsync -avl --mkpath /home/john kasutajanimi@remote_server/home/Backup
Siin sisestate parooli lihttekstina. Ilmselgelt pole see ideaalne viis, kuna see pole turvaline ega hea tava. Kui stsenaarium satub kunagi valedesse kätesse, olete sügavas hädas.
Selle turvalisemaks muutmiseks kasutame GnuPG-d, turvalist ja avatud lähtekoodiga krüpteerimistööriista.
Teie parooli krüptimine
GnuPG on vaikimisi installitud enamikesse Linuxi süsteemidesse, kuid kui see pole teie süsteemi installitud, Siit saate teada, kuidas GnuPG-d installida.
Looge peidetud fail nimega saladusi kasutades käsku puudutada .saladused. Kuna oleme lisaturvameetmena faili vaikimisi peidetud, saate seda teha järgmiselt peidetud failide vaatamine Linuxis.
Sisestage saladuste faili oma kaugarvuti parool ja salvestage see.
Järgmisena krüptige fail kasutades gpg käsk.
sudogpg.saladused
Teil palutakse sisestada krüptitud faili avamiseks turvaline ja tugev parool.
GnuPG loob laiendiga uue faili .gpg lisatud vanale failinimele. Teie uus failinimi peaks nüüd olema saladused.gpg, eeldades, et kasutasite saladusi faili nimi.
Kui vaatate faili secrets.gpg sisu, kasutades kass käsku, kuvatakse teile jaburat teksti, mis näitab, et teie parool on krüptitud.
Faili sisu lihttekstina kuvamiseks peate selle järgmise käsu abil dekrüpteerima (teil palutakse sisestada krüptimise ajal määratud parool):
gpg-dqsalajane.gpg
Krüpteeritud parooli kasutamine skriptis
Skriptis krüptitud parooli kasutamiseks värskendage skripti järgmiselt.
#!/bin/bash
#Kopeerige andmed kaugserverisse
gpg -dq saladused.gpg | sshpass rsync -avl --mkpath /home/john kasutajanimi@pult_server/home/Backup
Käivitage varundamisskriptid uuesti ja seekord ei küsita teilt parooli.
Automatiseerige ülesanded Bash-skriptidega
GnuGP-d kasutatakse sageli tundlike failide ja andmete turvamiseks teie arvutis ning see on ka suurepärane tööriist Linuxi automatiseeritud Bash-skriptide paroolide kaitsmiseks.
Bashi skriptidega saate palju teha. Bash on võimas tööriist, mis aitab teil Linuxis paljusid asju automatiseerida ja Bashi skriptide kirjutamise õppimine on väärt investeering.