Bash skripti ir svarīga sistēmas administratora darba daļa. Tie ļauj automatizēt gan ikdienišķus, gan kritiskus uzdevumus.

Viena no labākajām lietām ar skriptiem ir tā, ka tie var darboties neatkarīgi bez cilvēka iejaukšanās, taču dažreiz var būt sarežģīti automatizēt uzdevumus, kuriem nepieciešamas lietotāja paroles. Apskatīsim, kā jūs varat droši automatizēt skriptus, kuriem nepieciešamas paroles, neapdraudot drošību.

Vienkārša skripta izveide

Pieņemsim, ka vēlaties izveidot vienkāršu skriptu, kas dublē jūsu Linux mājas mapi attālā vietā, lai jūs varētu viegli atjaunot savus datus datu zuduma gadījumā.

Sāciet, izveidojot Bash skripta failu savā mājas mapē, izmantojot pieskāriena komandu vai jebkuru citu metodi, un nosauciet to backup_home.sh. Jūtieties brīvi izmantot jebkuru nosaukumu un direktoriju, kas jums patīk.

Skripts izmanto rsync komandu, jaudīgu failu kopēšanas rīku, lai attālajā serverī dublētu visus jūsu vietējā mājas direktorijā esošos failus.

Kopējiet tālāk norādītā skripta saturu un ielīmējiet to savā Bash failā. Atcerieties aizstāt lietotāju john ar pareizo vietējā mājas lietotāja vārdu. Norādiet arī pareizo attālā servera lietotājvārdu un IP adresi.

#!/bin/bash
# Kopējiet datus uz attālo serveri
rsync -avl --mkpath /home/john lietotāja_vārds@tālvadības pults_server/home/Backup

Ja jums nav attālā servera, ar kuru pārbaudīt, varat vienkārši instalējiet VirtualBox un iestatiet virtuālo mašīnu vietējā iekārtā. Izmantojiet VM viesi kā attālo serveri.

Saglabājiet failu. Lai izpildītu skriptu, jums ir jāpiešķir tam izpildes atļauja, izmantojot komandu sudo chmod 755. Visi lietotāji var izpildīt skriptu, bet tikai sudo lietotāji var modificēt failu.

Visbeidzot, izpildiet Bash skriptu no termināļa, izmantojot komandu:

./backup_home.sh

Ikreiz, kad palaižat šo skriptu, jums tiks piedāvāts ievadīt attālā servera paroli. Tas nav ideāli, ja vēlaties palaist skriptu bez cilvēka iejaukšanās, piemēram, izmantojot Cron.

Paroles pieteikšanās automatizācija

Uzstādīt sshpass, neinteraktīvs paroles nodrošinātājs, jūsu lokālajā datorā vai datorā, no kura izpildīsit skriptu.

Uz Debian balstītiem distribūcijām

Ja izmantojat uz Debian balstītu distro, piemēram, Ubuntu, Pop!_OS un Lubuntu:

sudo apt Atjaunināt && sudo apt uzstādīt sshpass

RHEL un Fedora

dnf uzstādīt sshpass

Pēc sshpass instalēšanas modificējiet skriptu, lai tas izskatās šādi.

#!/bin/bash
# Kopējiet datus uz attālo serveri
sshpass - lpp "Tava parole" rsync -avl --mkpath /home/john user_name@remote_server/home/Backup

Šeit jūs norādiet paroli vienkāršā tekstā. Acīmredzot tas nav ideāls veids, jo tas nav drošs un nav laba prakse. Ja scenārijs kādreiz nonāk nepareizās rokās, jūs esat nokļuvis lielās nepatikšanās.

Lai to padarītu drošāku, mēs izmantosim GnuPG — drošu un atvērtā koda šifrēšanas rīku.

Jūsu paroles šifrēšana

GnuPG pēc noklusējuma ir instalēts lielākajā daļā Linux sistēmu, taču, ja tas nav instalēts jūsu sistēmā, Lūk, kā instalēt GnuPG.

Izveidojiet slēptu failu ar nosaukumu noslēpumi izmantojot komandu pieskarties .noslēpumi. Tā kā mēs esam paslēpuši failu pēc noklusējuma kā papildu drošības līdzekli, rīkojieties šādi skatiet slēptos failus operētājsistēmā Linux.

Noslēpumu failā ievadiet attālā datora paroli un saglabājiet to.

Pēc tam šifrējiet failu, izmantojot gpg komandu.

sudogpg.noslēpumi

Lai atvērtu šifrētu failu, jums tiks piedāvāts ievadīt drošu un spēcīgu ieejas frāzi.

GnuPG izveidos jaunu failu ar paplašinājumu .gpg pievienots vecajam faila nosaukumam. Jūsu jaunajam faila nosaukumam tagad vajadzētu būt noslēpumi.gpg, pieņemot, ka izmantojāt noslēpumi faila nosaukums.

Ja skatāt vietnes secrets.gpg saturu, izmantojot kaķis komandu, jums tiks parādīts rupjš teksts, kas parāda, ka jūsu parole ir šifrēta.

Lai skatītu faila saturu vienkāršā tekstā, tas ir jāatšifrē, izmantojot šādu komandu (jums tiks piedāvāts ievadīt paroli, ko iestatījāt šifrēšanas laikā):

gpg-dqnoslēpums.gpg

Šifrētas paroles izmantošana skriptā

Lai skriptā izmantotu šifrēto paroli, atjauniniet skriptu šādi:

#!/bin/bash
# Kopējiet datus uz attālo serveri
gpg -dq noslēpumi.gpg | sshpass rsync -avl --mkpath /home/john lietotāja_vārds@tālvadības pults_server/home/Backup

Palaidiet rezerves skriptus vēlreiz, un šoreiz jums netiks prasīts ievadīt paroli.

Automatizējiet uzdevumus, izmantojot Bash skriptus

GnuGP bieži tiek izmantots, lai nodrošinātu sensitīvus failus un datus datorā, un tas ir arī lielisks rīks paroļu nodrošināšanai automatizētajos Bash skriptos operētājsistēmā Linux.

Ar Bash skriptiem varat darīt daudz. Bash ir spēcīgs rīks, kas var palīdzēt automatizēt daudzas lietas operētājsistēmā Linux, un mācīšanās rakstīt Bash skriptus ir vērtīgs ieguldījums.