Басх скрипте су важан део посла систем администратора. Они вам омогућавају да аутоматизујете и свакодневне и критичне задатке.
Једна од најбољих ствари са скриптама је то што могу да раде независно без људске интервенције, али понекад може бити изазовно аутоматизовати задатке који захтевају корисничке лозинке. Хајде да погледамо како можете безбедно да аутоматизујете скрипте које захтевају лозинке без угрожавања безбедности.
Креирање једноставне скрипте
Претпоставимо да желите да направите једноставну скрипту која прави резервну копију ваше Линук кућне фасцикле на удаљеној локацији тако да можете лако да вратите своје податке у случају губитка података.
Почните тако што ћете креирати датотеку Басх скрипте у вашој почетној фасцикли, користећи команду додира или било коју другу методу и именујте је бацкуп_хоме.сх. Слободно користите било које име и именик по свом укусу.
Скрипта користи рсинц команда, моћан алат за копирање датотека, за прављење резервних копија свих датотека у вашем локалном кућном директоријуму на удаљеном серверу.
Копирајте садржај следеће скрипте и налепите га у своју Басх датотеку. Не заборавите да замените корисника јохн исправним именом локалног кућног корисника. Такође наведите исправно корисничко име и ИП адресу за удаљени сервер.
#!/бин/басх
#Копирај податке на удаљени сервер
рсинц -авл --мкпатх /хоме/јохн корисничко_име@ремоте_сервер/хоме/Бацкуп
Ако немате удаљени сервер за тестирање, можете једноставно инсталирајте ВиртуалБок и подесите ВМ на вашој локалној машини. Користите ВМ гост као свој удаљени сервер.
Сачувајте датотеку. Да бисте извршили скрипту, потребно је да јој доделите дозволу за извршавање помоћу команде судо цхмод 755. Сви корисници могу да изврше скрипту, али само судо корисници могу да мењају датотеку.
Коначно, извршите Басх скрипту са терминала користећи команду:
./бацкуп_хоме.сх
Кад год покренете ову скрипту, од вас ће бити затражено да унесете лозинку удаљеног сервера. Ово није идеално ако желите да покренете скрипту без људске интервенције, на пример када користите Црон.
Аутоматизација пријаве лозинком
Инсталирај ссхпасс, неинтерактивни добављач лозинки, на вашем локалном рачунару или рачунару са којег ћете покренути скрипту.
На дистрибуцијама заснованим на Дебиан-у
Ако користите дистрибуцију засновану на Дебиан-у као што су Убунту, Поп!_ОС и Лубунту:
судо апт ажурирање && судо апт инсталирај ссхпасс
На РХЕЛ-у и Федори
днф инсталирај ссхпасс
Након инсталирања ссхпасс-а измените скрипту тако да изгледа на следећи начин.
#!/бин/басх
#Копирај податке на удаљени сервер
ссхпасс -п "Ваша лозинка" рсинц -авл --мкпатх /хоме/јохн корисничко_име@ремоте_сервер/хоме/Бацкуп
Овде наводите лозинку у обичном тексту. Очигледно, ово није идеалан начин, јер није безбедан и није добра пракса. Ако сценарио икада доспе у погрешне руке, у великој сте невољи.
Да бисмо ово учинили сигурнијим, користићемо ГнуПГ, безбедан алат за шифровање отвореног кода.
Шифровање ваше лозинке
ГнуПГ је подразумевано инсталиран на већини Линук система, али у случају да није инсталиран на вашем систему, ево како да инсталирате ГнуПГ.
Направите скривену датотеку под називом тајне користећи команду додир .тајне. Пошто смо датотеку подразумевано сакрили као додатну меру безбедности, ево како можете прегледајте скривене датотеке на Линук-у.
У тајни фајл унесите лозинку удаљеног рачунара и сачувајте је.
Затим шифрирајте датотеку помоћу гпг команда.
судогпг.тајне
Од вас ће бити затражено да унесете сигурну и јаку приступну фразу за отварање шифроване датотеке.
ГнуПГ ће креирати нову датотеку са екстензијом .гпг придодат старом имену датотеке. Ваше ново име датотеке би сада требало да буде сецретс.гпг, под претпоставком да сте користили тајне назив документа.
Ако погледате садржај сецретс.гпг користећи мачка команде, биће вам представљен неки глупави текст који показује да је ваша лозинка шифрована.
Да бисте видели садржај датотеке у обичном тексту, мораћете да је дешифрујете помоћу следеће команде (од вас ће бити затражено да унесете лозинку коју сте поставили током шифровања):
гпг-дктајна.гпг
Коришћење шифроване лозинке у скрипти
Да бисте користили шифровану лозинку у скрипти, ажурирајте скрипту на следећи начин:
#!/бин/басх
#Копирај податке на удаљени сервер
гпг -дк сецретс.гпг | ссхпасс рсинц -авл --мкпатх /хоме/јохн корисничко_име@ремоте_сервер/хоме/Бацкуп
Поново покрените скрипте за прављење резервних копија и овај пут од вас неће бити затражена лозинка.
Аутоматизујте задатке помоћу Басх скрипти
ГнуГП се често користи за обезбеђење осетљивих датотека и података на вашем рачунару и такође је одличан алат за обезбеђење лозинки у аутоматизованим Басх скриптама на Линук-у.
Много тога можете да урадите са Басх скриптама. Басх је моћна алатка која вам може помоћи да аутоматизујете много ствари на Линук-у и учење писања Басх скрипти је вредна инвестиција.