成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

告別密碼過期困擾,一鍵部署Bash腳本,智能監控密碼過期風險

系統 Linux 運維
如果你也因為密碼過期而頭疼過,那么今天這篇文章肯定能幫到你。讓我們從根源上解決這個問題,用一行命令和一小段Bash腳本來監控 Linux 密碼過期的風險,并提前發出警告!

早上,辦公室的咖啡味還沒散去,運維工程師小李就發現系統里突然出現了很多工單。原來是一個重要賬號的密碼過期了,導致自動化任務無法運行。大屏幕上不斷閃爍的報警信息像是在提醒大家:密碼過期的問題不能忽視。

如果你也因為密碼過期而頭疼過,那么今天這篇文章肯定能幫到你。讓我們從根源上解決這個問題,用一行命令和一小段Bash腳本來監控 Linux 密碼過期的風險,并提前發出警告!

為何需監控密碼過期?

在實際運維管理中,定期更改密碼可以有效降低系統風險,但這也會帶來不少麻煩:

  • 自動任務中斷:腳本或備份程序依賴賬號登錄,密碼過期直接導致任務失敗。
  • 服務不可用:關鍵服務因密碼問題而中斷,可能會引發業務停擺。
  • 運維效率下降:緊急處理密碼問題往往耗費大量人力、時間和資源。

因此,建立一套自動化、智能化的密碼過期監控方案,不僅可以提前預警,還能大幅提升系統穩定性和運維效率。

自動化密碼過期監控方案

(1) 工作原理

整個方案基于Linux內置的chage 命令,實現如下幾大功能:

  • 信息采集:使用 chage -l <用戶名> 獲取密碼有效期信息。
  • 時間計算:利用 date 工具將密碼過期時間轉換為 UNIX 時間戳,計算剩余天數。
  • 觸發提醒:當剩余天數低于閾值(例如 7 天)時,自動發送郵件、記錄日志。

(2) 所需工具

  • chage:查詢用戶密碼狀態的命令。
  • chpasswd: 修改用戶密碼。
  • date:進行日期與時間轉換。
  • mail:郵件提醒工具(可選)。
  • cron:定時任務調度,實現自動運行。

輕松部署密碼預警

先設置幾個變量,然后在整個腳本里都能用。

# 配置區域:根據實際需求修改以下變量
USERS=("root" "user2" "user3")  # 需要監控的用戶數組
WARNING_DAYS=7                   # 提前預警天數
LOG_FILE="/var/log/password_change.log"
PASSWORD_LENGTH=16               # 生成密碼長度
MAIL_NOTIFY="admin@example.com"  # 通知郵箱(需先配置郵件服務)

定義一個函數,它的主要功能就是生成密碼。

# 密碼生成函數(兼容沒有pwgen的環境)
generate_password() {
    # 方法1:使用openssl生成(默認)
    openssl rand -base64 20 | tr -dc 'a-zA-Z0-9!@#$%^&*()_+' | head -c${PASSWORD_LENGTH}
}

為了后面記錄日志方便,咱們定義一個專門用來記日志的函數。

# 日志記錄函數
log_message() {
    local timestamp=$(date "+%Y-%m-%d %H:%M:%S")
    echo "[${timestamp}] $1" >> "${LOG_FILE}"
}

主函數先用chage -l命令獲取用戶賬戶的信息,然后用grep和cut工具找出過期時間。接著計算距離過期還有多少天,如果這個天數少于預先設定的天數,就更新用戶的密碼。

# 主程序
for USERNAME in"${USERS[@]}"; do
    # 檢查用戶是否存在
    if ! id"${USERNAME}" &>/dev/null; then
        log_message "[${USERNAME}] 錯誤:用戶不存在"
        continue
    fi

    # 獲取密碼過期信息
    password_info=$(chage -l "${USERNAME}" 2>/dev/null)
    if [ $? -ne 0 ]; then
        log_message "[${USERNAME}] 錯誤:無法獲取密碼策略信息"
        continue
    fi

    # 解析過期時間
    expiry_line=$(grep 'Password expires' <<< "${password_info}" | cut -d':' -f2 | sed 's/^ *//;s/ *$//')

    if [[ "${expiry_line}" == "never" ]]; then
        log_message "[${USERNAME}] 密碼永不過期"
        continue
    fi

    # 轉換為時間戳
    expiry_ts=$(date -d "${expiry_line}" +%s 2>/dev/null)
    if [[ -z "${expiry_ts}" ]]; then
        log_message "[${USERNAME}] 錯誤:無法解析過期時間 '${expiry_line}'"
        continue
    fi

    # 計算剩余天數
    current_ts=$(date +%s)
    days_left=$(( (expiry_ts - current_ts) / 86400 ))

    if (( days_left > WARNING_DAYS )); then
        log_message "[${USERNAME}] 密碼狀態正常,剩余天數:${days_left}"
        continue
    fi

    # 密碼修改流程
    log_message "[${USERNAME}] 開始密碼修改流程,剩余天數:${days_left}"
    
    # 生成新密碼
    new_password=$(generate_password)
    if [ -z "${new_password}" ]; then
        log_message "[${USERNAME}] 錯誤:密碼生成失敗"
        continue
    fi

    # 修改密碼(兼容不同發行版)
    ifecho"${USERNAME}:${new_password}" | chpasswd 2>/dev/null; then
        log_message "[${USERNAME}:{$new_password}] 密碼修改成功"
        
        # 發送郵件通知(需要配置mailutils/postfix)
        if [ -n "${MAIL_NOTIFY}" ]; then
            echo"[${USERNAME}] 密碼已自動重置" | mail -s "密碼變更通知""${MAIL_NOTIFY}"
        fi

        # 更新最后修改日期(可選)
        chage --lastday 0 "${USERNAME}"
    else
        log_message "[${USERNAME}] 錯誤:密碼修改失敗"
    fi
done

exit 0

結合 Cron 實現周期檢測

為了讓系統自動檢測密碼狀態,我們只需要將該腳本添加到定時任務中。示例:

# 編輯定時任務
crontab -e

# 添加如下行,每天早上8點檢測用戶 "admin" 的密碼狀態
0 8 * * * /path/to/auto_update_expired_passwords.sh  2>&1

通過這一配置,你的系統將每天自動運行檢測,并記錄日志,確保每個關鍵賬號都受到監控。

總結

在運維工作里,小細節往往能決定最終結果的好壞。一個簡單好用的密碼到期提醒腳本,可以幫你大大減少出問題的風險。不管是處理自動化任務、查看系統日志還是維護重要服務,如果能提前收到警告,就能省下很多緊急修復的時間,保證系統穩定運行。

趕緊動手試試這個方法吧,讓你更好地管理Linux系統!也別忘了把這篇文章收藏并分享給其他人,幫助更多的朋友解決密碼過期帶來的麻煩,一起邁向更智能的運維之路!

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2021-01-03 09:33:48

密碼數字身份加密解密

2010-10-29 11:45:09

oracle用戶密碼

2013-10-08 10:07:58

2010-04-29 09:16:16

Oracle密碼過期處

2011-04-15 09:11:21

2009-10-28 13:58:35

Oracle密碼過期

2015-11-03 15:29:49

ONOS開放網絡操作系統SDN

2024-11-25 18:53:55

Linux

2025-03-07 10:50:59

腳本SSH信任服務器

2019-04-26 19:30:45

微軟Windows密碼過期

2017-08-31 15:57:53

數據Oracle用戶密碼

2023-08-02 11:39:21

SSL證書過期

2010-09-26 15:16:16

俄羅斯破解WiFi密碼軟件

2023-06-15 10:00:00

Jenkins任務操作

2021-05-20 10:36:30

Chrome瀏覽器系統技巧

2020-09-01 14:28:41

ChromeGoogle瀏覽器

2025-04-02 09:10:00

LinuxShell腳本

2013-08-06 18:01:30

2019-10-09 14:47:26

人工智能AI

2024-04-08 13:59:03

大模型Replicate
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区精华 | 狠狠婷婷综合久久久久久妖精 | 99在线观看视频 | 日韩在线精品 | 免费精品视频一区 | 久草久| 色综合色综合色综合 | 中文字幕一区二区三区四区 | 欧美成人免费在线视频 | 国内精品久久久久久 | 日韩视频在线播放 | 久久久久久国产 | 亚洲欧美高清 | 美女久久 | 国产91久久久久蜜臀青青天草二 | 亚洲精品乱码久久久久久久久久 | 91久久精品一区二区二区 | 美女黄色在线观看 | 欧美视频1区 | 日本精品免费在线观看 | 久草久草久草 | 97狠狠干 | 国产一区二区 | 在线a视频网站 | 中文字幕乱码一区二区三区 | 久久久九九 | 在线日韩欧美 | 亚洲人a| 亚洲三级在线观看 | 亚洲欧美日韩电影 | 成人免费视频网站在线看 | 国产精品久久久久久久久久三级 | 精品九九久久 | 亚洲成人在线免费 | 国产成人福利 | 午夜电影网 | 久久91av| 欧美13videosex性极品 | 欧美老少妇一级特黄一片 | 欧美激情精品久久久久久 | 久久国产精品一区二区 |