#!/bin/bash
# 遠程無法登錄自動檢測
# 腳本開發:萬楊
read -p "請輸入用戶名:" euser
fhqjc(){
sshport=$(netstat -ntlp | grep ssh | awk -F" " '{print $4}' | awk -F":" '{print $2}') ; echo "ssh 的遠程登錄端口為: $sshport"
sshfhq=(`firewall-cmd --list-all | grep -E "$sshport" | awk -F" " '{print $1}' | awk -F":" '{print $1}'`)
echo "類型 ${sshfhq[*]} "
for i in ${sshfhq[*]}
do
case $i in
"ports") echo "已經開放通用端口 $sshport"
;;
"rule") echo "已經配置規則組,運行指定ip訪問ssh端口$sshport"
;;
*) echo "端口和規則組,都沒有配置開放"
;;
esac
done
echo "查看配置 "
firewall-cmd --list-all | grep $sshport
}
fhqjc
elogin(){
login=$(cat /etc/passwd | grep $euser | awk -F":" '{print $7}' | awk -F"/" '{print $3}') ; echo $login
if [ $login = "nologin" ]; then
read -p "用戶: $euser 被禁止登錄,是否修改系統為允許它登錄: yes/no: " xz
if [ $xz = "yes" ] ; then
NR=$(cat -n /etc/passwd | grep $euser | awk -F" " '{print $1}' )
sed -i "$NR s/sbin/bin/g" /etc/passwd
sed -i "$NR s/nologin/bash/g" /etc/passwd
fi
else
echo "系統沒有限制用戶: $euser 登錄;往下檢查ssh 是否限制,等待。。。。"
fi
}
elogin