linux centos 远程无法登录自动检测shell脚本

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


上一篇:算法解密84位加密,进制转换解密脚本


下一篇:linux centos nginx 环境下配置 ssl 证书