#!/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