Shell管理用户脚本

#!/bin/bash
echo "用户管理程序"
echo "1.创建用户"
echo "2.删除用户"
echo "3.锁定用户"
echo "4.解锁用户"
echo "5.退出脚本"

read -p "请输入您的操作选择(1-5):" sn #读取终端输入并且赋值给sn
case $sn in #case语句判断sn的值,取值要在变量前面加$符号,赋值不用加
1) #如果sn的值为1
read -p "请输入创建用户名:" nu #读取终端输入并且赋值给sn
useradd $nu #添加用户,用户名为变量nu的值
echo "123456" | passwd --stdin $nu #为用户设置密码为123456
if [ '$?' == '0' ]; #如果上一条命令执行结果为真,即设置密码这一步没有错
then #执行条件语句
echo "用户已经创建成功"
exit #退出脚本执行,可以设置退出参数0-266
fi #条件语句结尾
;; #每一个条件的结束标志

2) #如果sn的值为2
read -p "请输入要删除用户名:" nl  
userdel $nl
echo "已经删除$nl用户"

if
[ $? -ne 0 ];
then
echo "成功删除"
fi
;;

3) #如果sn的值为3
STAT=$(passwd -S $use | awk '{print $2}') #获取用户锁定状态,passwd -S $use命令输出的第二个字段值
read -p "锁定用户" use
if [ '$STAT' == "PS" ]; #PS未锁定
then
passwd -l $use  #锁定用户
fi
if [ '$STAT' == "LK" ]; #LK已锁定
then
echo "已经锁定用户"
exit
fi
;;

4) #如果sn的值为4
read -p "解锁用户" jie
echo $jie 
if [ '$STAT' == "LK" ];
then
passwd -u $jie #解锁用户
fi
if [ '$STAT' == "LK" ];
then
echo "已经解锁用户"
exit
fi
;;
5) #如果sn的值为5
if [ $sn == 5 ];
then
read -p "是否退出(yes)" tu
if [ $tu == yes  ];
then
    exit 
fi

fi

esac #case语句结尾
发布了92 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zZzZzZ__/article/details/104026066