Saturday, January 8, 2022

[sed & awk] 找出空密碼帳號

有些系統用戶並沒有設定密碼,基於安全考慮,最好找出所有空密碼的帳號並暫時禁止登入。在 FreeBSD 可以透過 awk 在檔案 /etc/master.password 找出空密碼帳號,切換到 root 並輸入以下指令:

# awk -F: 'NF > 1 && $1 !~ /^[#+-]/ && $2=="" {print $0}' /etc/master.passwd

以上指令會用 awk 掃瞄 /etc/master.passwd,並以 : 作為分隔字串。並且找出 password 欄位 ($2) 空白的內容。如果系統內有空密碼帳號,便會用以下格式顯示:

username::1099:1099::0:0:User &:/home/username:/bin/bash

當發現有空密碼帳號後,可以用以下指令進行 lock 及 unlock 的動作:

lock user
 
# pw lock username
 
unlock user
 
# pw unlock username

 

No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能