Linux下堡垒机认证,用户名密码

Linux下堡垒机认证,用户名密码

加进自己的验证机制来控制ssh到某台Linux机的用户。
目的是在用户输入linux用户名密码后,多加一轮验证。

比如,给三个用户登进该Linux主机的权限,存到特定文件里。
1.用户名密码正确才可登陆

用户名和密码 如下。

Lucy:123

Ben:456

Jerry:789

2.如果某个用户输入密码错误达到三次,则将该用户账户锁住。

脚本如下

AccountFile=自行定义。

首先输入AccountFile内容,可以自己创建或者用vi, 下面是从屏幕输入,使用EOF。

if [ ! -e $AccountFile ];then

    cat >$AccountFile<<EOF

Lucy:123:0

Ben:456:0

Jerry:789:0

EOF

fi 如果文件不存在,使用默认

main process 以下是主要脚本内容

while true;do

    echo -e "\033[32m Welcome to Linux Club\033[0m"   输出欢迎菜单

read -p "Please input your username: " username 读用户的键盘输入,并且保存在username变量里

AccountUser=`awk -F: '{print $1}' $AccountFile`       awk获取文件的第一列,得到用户名

# echo Account user is $AccountUser   此行仅仅用来测试是否成功读出了AccountUser用户名

for Name in $AccountUser;do                                在文件的用户名中遍历查找与用户输入一致的

    if [ x$Name == x$username ];then

                    Pass=$(grep $username $AccountFile|awk -F: '{print $2}')    从AccountFile读出密码

                            Count=$(grep $username $AccountFile|awk -F: '{print $3}')  count记录错误次数

                            if [ $Count -lt 3 ];then                                验证密码已经 错误的次数是否小于三次

                            read -s -p "Please input your passwd: " passwd

                                    echo ""

                            if [ x$Pass == x$passwd ];then

                                          sed -i "/$username/s/:[0-9]$/:0/" $AccountFile密码正确,将错误次数置零

                                            echo welcome   成功输出欢迎菜单

                                            bash

                                    else

                                            echo wrong pass

                                            let Count=$Count+1

                                            sed -i "/$username/s/:[0-9]$/:$Count/" $AccountFile 错误次数写回文件

                                            break

                                    fi

                            else

                                    echo Your account has been locked

                                    exit 5

                            fi

            fi

    done

done

将该脚本加进/etc/profile里。

sh /root/xcui/account.sh

之后再ssh进来的运行结果如下:

输入正确密码进入bash
在这里插入图片描述
输入错误密码,大于三次时锁账户。

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值