0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建一個簡單的腳本

jf_ZqFkd6Up ? 來源:Linux迷 ? 作者:Linux迷 ? 2022-10-10 11:12 ? 次閱讀

Shell 腳本可以為您節(jié)省時間和精力,但是如果您不保護您的密碼,它們就會成為您的負擔(dān)。以下是如何保持安全的方法。
Bash 腳本是系統(tǒng)管理員工作的重要組成部分。它們允許您自動化普通和關(guān)鍵的任務(wù)。
使用腳本的一個好處是,它們可以在不需要人工干預(yù)的情況下獨立運行,但有時自動化需要用戶密碼的任務(wù)可能很有挑戰(zhàn)性。讓我們看看如何在不影響安全性的情況下安全地自動化需要密碼的腳本。
創(chuàng)建一個簡單的腳本
假設(shè)您想要創(chuàng)建一個簡單的腳本,將 Linux 主文件夾備份到遠程位置,以便在數(shù)據(jù)丟失的情況下可以輕松地恢復(fù)數(shù)據(jù)。
首先在您的主文件夾中創(chuàng)建一個Bash腳本文件,使用touch命令或其他方法,并將其命名為 linuxmi.sh。請隨意使用您喜歡的任何名稱和目錄。
該腳本使用 rsync 命令(一種功能強大的文件復(fù)制工具)將本地主目錄中的所有文件備份到遠程服務(wù)器。
復(fù)制以下腳本的內(nèi)容并將其粘貼到您的 Bash 文件中。記住用本地 home 用戶的正確名稱替換用戶 linuxmi。還要為遠程服務(wù)器提供正確的用戶名和IP地址。


#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠程服務(wù)器
rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup
如果您沒有遠程服務(wù)器來進行測試,您可以簡單地安裝 VirtualBox 并在本地機器上設(shè)置一個 VM。使用 VM 客戶機作為遠程服務(wù)器。
保存文件。要執(zhí)行該腳本,您需要使用sudo chmod 755命令授予它執(zhí)行權(quán)限。所有用戶都可以執(zhí)行該腳本,但只有sudo用戶可以修改該文件。
最后,從終端使用以下命令執(zhí)行Bash腳本:

./linuxmi.sh
每當(dāng)運行此腳本時,系統(tǒng)都會提示您輸入遠程服務(wù)器密碼。如果您希望在沒有人為干預(yù)的情況下運行腳本,例如在使用Cron時,這不是我們想要的。
自動化密碼登錄
在您的本地 PC 或運行腳本的 PC 上安裝 sshpass,這是一個非交互式密碼提供程序。
在基于 Debian 發(fā)行版
如果你使用的是基于 Debian 的發(fā)行版,比如 Ubuntu, Pop!_OS 或 Lubuntu:

sudo apt update && sudo apt install sshpass
在 RHEL 和 Fedora 上

dnf install sshpass
在安裝 sshpass 之后修改腳本,使其看起來如下所示。


#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠程服務(wù)器
sshpass-p"yourpassword"rsync-avl--mkpath/home/linuxmiuser_name@remote_server/home/Backup

這里以純文本的形式提供密碼。顯然,這不是理想的方式,因為它不安全,也不是很好的實踐。如果文件落入壞人之手,你的麻煩就大了。
為了提高安全性,我們將使用 GnuPG,這是一種安全的開源加密工具。
對您的密碼進行加密
在大多數(shù)Linux系統(tǒng)上,GnuPG是默認安裝的,但是如果您的系統(tǒng)上沒有安裝GnuPG,下面介紹如何安裝GnuPG。
使用命令 touch .secrets 創(chuàng)建一個名為 secrets 的隱藏文件。作為額外的安全措施,我們在默認情況下隱藏了文件,下面介紹如何在 Linux 上查看隱藏的文件。
在 secrets 文件中,輸入遠程 PC 的密碼并保存。
接下來,使用 gpg 命令加密該文件。

sudo gpg .secrets
系統(tǒng)將提示您輸入一個安全且強的密碼短語以打開加密文件。
GnuPG 將創(chuàng)建一個新文件,擴展名 .gpg 附加在舊文件名后面。您的新文件名現(xiàn)在應(yīng)該是 secrets.gpg,假設(shè)您使用 secrets 文件名。
如果使用cat命令查看 secrets.gpg 的內(nèi)容,您將看到一些如下的文本,以表明您的密碼已加密。
要以純文本的形式查看文件的內(nèi)容,您需要使用以下命令對其進行解密(系統(tǒng)會提示您輸入在加密過程中設(shè)置的密碼):

gpg -dq secrect.gpg
在腳本中使用加密密碼
如需在腳本中使用加密后的密碼,請按如下步驟更新腳本。


#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠程服務(wù)器
gpg-dqsecrets.gpg|sshpassrsync-avl--mkpath/home/linuxmiuser_name@remote_server/home/Backup
再次運行備份腳本,這次不會提示您輸入密碼。
使用Bash腳本自動化任務(wù)
GnuGP 經(jīng)常用于保護 PC 上的敏感文件和數(shù)據(jù),也是保護 Linux 上自動 Bash 腳本中的密碼的好工具。
使用Bash腳本可以做很多事情。Bash是一個強大的工具,可以幫助您自動化Linux上的許多東西,學(xué)習(xí)編寫B(tài)ash腳本是一項值得的投資。
審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2049

    瀏覽量

    153809
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8843

    瀏覽量

    84946
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    383

    瀏覽量

    14792

原文標(biāo)題:如何在 Linux Shell 腳本中使用加密密碼

文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何創(chuàng)建簡單的bash shell腳本

    我們可能經(jīng)常會在 Linux 服務(wù)器上做些重復(fù)的工作,比如文件的備份,清理臨時文件,或者數(shù)據(jù)庫的備份與恢復(fù)等。
    發(fā)表于 11-28 16:58 ?3018次閱讀
    如何<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的bash shell<b class='flag-5'>腳本</b>

    基于FPGA創(chuàng)建簡單的電機控制程序

    FPGA 非常適合精密電機控制,在這個項目中,我們將創(chuàng)建簡單的電機控制程序,在此基礎(chǔ)上可以構(gòu)建更復(fù)雜的應(yīng)用。
    發(fā)表于 08-11 09:06 ?1218次閱讀
    基于FPGA<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的電機控制程序

    如何從簡單的數(shù)學(xué)表達式創(chuàng)建Saber模型?

    如何從簡單的數(shù)學(xué)表達式創(chuàng)建Saber模型,將你的輸出描述為輸入的函數(shù)?例如 out=a*
    的頭像 發(fā)表于 12-05 13:42 ?649次閱讀
    如何從<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的數(shù)學(xué)表達式<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>Saber模型?

    如何創(chuàng)建鏈接腳本

    FJ256GP710GLD,即使原來的意思是針對PIC24探險者板。有沒有人在那里為我的芯片創(chuàng)建鏈接腳本,或者知道我在哪里可以找到
    發(fā)表于 05-08 14:11

    如何創(chuàng)建和執(zhí)行簡單的Linux shell腳本

     如果您愿意要嘗試更長的shell腳本,請將下面的shell腳本(并附加為PDF和ODT文件)復(fù)制到文本編輯器中,保存,使其可執(zhí)行并運行。當(dāng)您了解更多Linux命令時,您可以創(chuàng)建更復(fù)雜的shell
    的頭像 發(fā)表于 11-06 17:28 ?1.3w次閱讀

    什么是腳本腳本程序?qū)W習(xí)

    腳本中編寫VB腳本代碼。可以象使用系統(tǒng)函數(shù)樣使用項目中完成的腳本。創(chuàng)建腳本時,確定其型號并定
    的頭像 發(fā)表于 05-11 10:39 ?6638次閱讀
    什么是<b class='flag-5'>腳本</b>?<b class='flag-5'>腳本</b>程序?qū)W習(xí)

    linux系統(tǒng)中如何創(chuàng)建文本菜單

    當(dāng)使用Linux系統(tǒng)時,最常見的Shell腳本交互類型是應(yīng)用菜單(文本菜單),文本菜單的核心是case命令。 H. L.使用case命令完成菜單交互。 讓我們在下面創(chuàng)建
    發(fā)表于 09-25 15:45 ?1128次閱讀

    如何使用PYNQ和Zigbee創(chuàng)建簡單的家庭自動化系統(tǒng)

    使用 PYNQ 和 Zigbee 創(chuàng)建簡單且可擴展的家庭自動化系統(tǒng)。
    發(fā)表于 08-16 15:20 ?1355次閱讀
    如何使用PYNQ和Zigbee<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的家庭自動化系統(tǒng)

    創(chuàng)建簡單的L E D驅(qū)動器

    創(chuàng)建簡單的L E D驅(qū)動器
    發(fā)表于 11-03 08:04 ?0次下載
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的L E D驅(qū)動器

    如何創(chuàng)建簡單的溫度計

    電子發(fā)燒友網(wǎng)站提供《如何創(chuàng)建簡單的溫度計.zip》資料免費下載
    發(fā)表于 11-15 10:15 ?0次下載
    如何<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的溫度計

    創(chuàng)建帶有按鈕的簡單項目

    電子發(fā)燒友網(wǎng)站提供《創(chuàng)建帶有按鈕的簡單項目.zip》資料免費下載
    發(fā)表于 06-30 10:08 ?0次下載
    <b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>帶有按鈕的<b class='flag-5'>簡單</b>項目

    分享249拿來即用的shell腳本

    ? 由于腳本案例太多,在此僅展示部分,完整版領(lǐng)取方式請見文末 ? ? ? 249拿來即用的shell腳本! ? 這249Shell腳本
    的頭像 發(fā)表于 07-07 10:52 ?1086次閱讀
    分享249<b class='flag-5'>個</b>拿來即用的shell<b class='flag-5'>腳本</b>

    Vyond推出首款基于提示的腳本和視頻創(chuàng)建

    VyondGo 是款新的腳本和視頻創(chuàng)建應(yīng)用程序,將集成到Vyond的人工智能視頻創(chuàng)建平臺中。借助易于使用、基于提示的界面,用戶可以根據(jù)幾個簡單
    的頭像 發(fā)表于 07-12 10:32 ?747次閱讀

    編寫點名器腳本

    目的:編寫腳本,可以將準(zhǔn)別好的名字合集的.txt傳入腳本,然后每次隨機顯示一個人的姓名
    的頭像 發(fā)表于 11-06 12:41 ?525次閱讀
    編寫<b class='flag-5'>一</b><b class='flag-5'>個</b>點名器<b class='flag-5'>腳本</b>

    簡單的Shiro RCE檢測和利用腳本

    簡單的Shiro RCE檢測和利用腳本。
    的頭像 發(fā)表于 01-09 09:46 ?541次閱讀