Bash-skriptit ovat tärkeä osa järjestelmänvalvojan työtä. Niiden avulla voit automatisoida sekä arkipäiväisiä että kriittisiä tehtäviä.

Yksi komentosarjojen parhaista asioista on, että ne voivat toimia itsenäisesti ilman ihmisen puuttumista, mutta joskus voi olla haastavaa automatisoida tehtäviä, jotka vaativat käyttäjän salasanoja. Katsotaanpa, kuinka voit turvallisesti automatisoida salasanoja vaativat komentosarjat turvallisuudesta tinkimättä.

Yksinkertaisen skriptin luominen

Oletetaan, että haluat luoda yksinkertaisen komentosarjan, joka varmuuskopioi Linux-kotikansiosi etäsijaintiin, jotta voit helposti palauttaa tietosi tietojen katoamisen varalta.

Aloita luomalla Bash-skriptitiedosto kotikansioosi, käyttämällä kosketuskomentoa tai mikä tahansa muu menetelmä ja nimeä se backup_home.sh. Voit vapaasti käyttää mitä tahansa haluamaasi nimeä ja hakemistoa.

Käsikirjoitus käyttää rsync komento, tehokas tiedostojen kopiointityökalu, jonka avulla voit varmuuskopioida kaikki paikallisen kotihakemistosi tiedostot etäpalvelimelle.

instagram viewer

Kopioi seuraavan skriptin sisältö ja liitä se Bash-tiedostoosi. Muista korvata käyttäjä john paikallisen kotikäyttäjäsi oikealla nimellä. Anna myös oikea käyttäjätunnus ja IP-osoite etäpalvelimelle.

#!/bin/bash
#Kopioi tiedot etäpalvelimelle
rsync -avl --mkpath /home/john käyttäjän_nimi@etä_server/home/Backup

Jos sinulla ei ole etäpalvelinta testattavaksi, voit yksinkertaisesti asenna VirtualBox ja asenna VM paikallisella koneellasi. Käytä VM-vierailijaa etäpalvelimena.

Tallenna tiedosto. Komentosarjan suorittamiseksi sinun on myönnettävä sille suoritusoikeus komennolla sudo chmod 755. Kaikki käyttäjät voivat suorittaa komentosarjan, mutta vain sudo-käyttäjät voivat muokata tiedostoa.

Suorita lopuksi Bash-skripti päätteestä komennolla:

./backup_home.sh

Aina kun suoritat tämän skriptin, sinua pyydetään antamaan etäpalvelimen salasana. Tämä ei ole ihanteellinen, jos haluat ajaa komentosarjan ilman ihmisen puuttumista, kuten Cronia käytettäessä.

Salasanan automatisointi

Asentaa sshpass, ei-interaktiivinen salasanantarjoaja, paikallisella tietokoneellasi tai tietokoneella, josta komentosarja suoritetaan.

Debian-pohjaisissa distroissa

Jos käytät Debian-pohjaista distroa, kuten Ubuntua, Pop!_OS: tä ja Lubuntua:

sudo apt päivittää && sudo apt Asentaa sshpass

RHEL: ssä ja Fedorassa

dnf Asentaa sshpass

Muokkaa komentosarjaa sshpassin asentamisen jälkeen siten, että se näyttää seuraavalta.

#!/bin/bash
#Kopioi tiedot etäpalvelimelle
sshpass -p "salasanasi" rsync -avl --mkpath /home/john user_name@remote_server/home/Backup

Tässä annat salasanan pelkkänä tekstinä. Tämä ei tietenkään ole ihanteellinen tapa, koska se ei ole turvallinen eikä hyvä käytäntö. Jos käsikirjoitus joskus päätyy vääriin käsiin, olet syvässä pulassa.

Turvallisuuden parantamiseksi käytämme GnuPG: tä, turvallista ja avoimen lähdekoodin salaustyökalua.

Salasanasi salaus

GnuPG on oletuksena asennettuna useimpiin Linux-järjestelmiin, mutta jos sitä ei ole asennettu järjestelmääsi, Näin asennat GnuPG: n.

Luo piilotettu tiedosto nimeltä salaisuuksia komentoa käyttämällä kosketa .salaisuuksia. Koska olemme piilottaneet tiedoston oletusarvoisesti ylimääräisenä turvatoimena, voit tehdä sen seuraavasti tarkastella piilotettuja tiedostoja Linuxissa.

Kirjoita salaisuustiedostoon etätietokoneesi salasana ja tallenna se.

Seuraavaksi salaa tiedosto käyttämällä gpg komento.

sudogpg.salaisuuksia

Sinua pyydetään antamaan turvallinen ja vahva tunnuslause salatun tiedoston avaamiseksi.

GnuPG luo uuden tiedoston tunnisteella .gpg liitetty vanhaan tiedostonimeen. Uuden tiedostonimesi pitäisi nyt olla salaisuudet.gpg, olettaen, että käytit salaisuuksia Tiedoston nimi.

Jos tarkastelet tiedoston secrets.gpg sisältöä käyttämällä kissa -komento, sinulle esitetään hölynpölyä tekstiä, joka osoittaa, että salasanasi on salattu.

Jos haluat nähdä tiedoston sisällön pelkkänä tekstinä, sinun on purettava sen salaus seuraavalla komennolla (sinua pyydetään antamaan salauksen aikana asettamasi salasana):

gpg-dqsalainen.gpg

Salatun salasanan käyttäminen komentosarjassasi

Jos haluat käyttää salattua salasanaa komentosarjassa, päivitä komentosarja seuraavasti:

#!/bin/bash
#Kopioi tiedot etäpalvelimelle
gpg -dq secrets.gpg | sshpass rsync -avl --mkpath /home/john käyttäjän_nimi@etä_server/home/Backup

Suorita varmuuskopioskriptit uudelleen, etkä tällä kertaa kysy salasanaa.

Automatisoi tehtävät Bash-skripteillä

GnuGP: tä käytetään usein arkaluonteisten tiedostojen ja tietojen suojaamiseen tietokoneellasi, ja se on myös loistava työkalu salasanojen suojaamiseen automatisoiduissa Bash-skripteissä Linuxissa.

Bash-skripteillä voi tehdä paljon. Bash on tehokas työkalu, jonka avulla voit automatisoida monia asioita Linuxissa, ja Bash-skriptien kirjoittamisen oppiminen on kannattava investointi.