天天看点

智能用户管理脚本(2)

#修改用户属性

MidifyUsers()

{

read -p "输入要修改的用户名:" username

until [ $(isinvaild passwd "$username") == 'y' ];do

echo "要修改的用户$username不存在,请重新输入:"

read -p "用户名:" username

done

echo "用户$username的信息如下:"

echo -e "UserName\tUserID\tGroupName\tFullName\tLoginShell\tHomeDirectory"

list_allow_login_users ${username}

local is=n

while [ x$is == 'xn' ];do

is=y

read -p "修改登陆名(不修改直接按回车):" loginname

read -p "修改完整用户名(不修改直接按回车):" fullname

read -p "修改用户主目录(不修改直接按回车):" homedir

read -p "修改登陆shell(不修改直接按回车):" loginshell

read -p "修改群组(不修改直接按回车):" groupname

read -p "修改密码(不修改直接按回车):" password

read -p "修改UID(不修改直接按回车):" uid

read -p "是否锁住用户不让它登陆系统(Y/N):" islock

read -p "是否解锁用户允许其重新登陆系统(Y/N):" isunlock

echo "要将用户$username修改为下面信息:"

if [ -z "$loginname" ];then

loginname=$username ;

else

lopt="-l $loginname"

fi

if [ -n "$fullname" ];then

copt="-c $fullname"

if [ -n "$homedir" ];then

until [ -d "$homedir" ];do

echo "$homedir不是一个合法的目录,请输入一个合法的目录"

read -p "目录名:" homedir

done

dopt="-d $homedir"

if [ -n "$loginshell" ];then

sopt="-s $loginshell"

if [ -n "$groupname" ];then

gopt="-g $groupname"

if [ -n "$password" ];then

popt="-p $password"

if [ -n "$uid" ];then

uopt="-u $uid"

case $islock in

Y|y) Lopt="-L" ;;

esac

case $isunlock in

y|Y) Uopt='-U' ;;

echo -e "用户名:$loginname \t 密码:$password \n完整用户名:$fullname \t 用户主目录:$homedir \n群组:$groupname \t UID:$uid \n是否锁住用户:$islock\n"

read -p '确认修改?(Y/N/Q)' is

if [ x$is == 'xy' ];then

usermod $lopt $copt $dopt $sopt $gopt $popt $uopt $Lopt $Uopt $username

echo "修改后用户信息:"

list_allow_login_users ${loginname}

fi

}

DelUsers()

read -p "输入要删除的用户名:" username

echo "要删除的用户$username不存在,请重新输入:"

done

read -p "是否移除用户主目录(Y/N)" isremovedir

read -p "是否强制执行(Y/N)" isforce

case $isremove in

Y|y) ropt="-r";;

esac

case $isforce in

Y|y) fopt="-f";;

read -p "删除用户$username,确定(Y/N)" isreallydel

case $isreallydel in

y|Y) 

userdel $ropt $fopt $username

#主函数

PS3="请选择操作:"

select doing in "列出允许登陆用户" "增加用户" "修改用户信息" "删除用户" "退出" ;do

case $doing in

"列出允许登陆用户") listUsers ;;

"增加用户") AddUser ;;

"修改用户信息") MidifyUsers ;;

"删除用户") DelUsers ;;

"退出") exit 0;;

 done

继续阅读