关于在Linux服务器上建立新用户

来源:互联网 发布:视频下载王 mac 编辑:程序博客网 时间:2024/05/17 07:46

配置文件 include.inc

CAL_USERHOME="/home/cal"
CAL_USERSHELL="/usr/bin/csh"
CAL_USERS_GROUPNAME="cal"
CAL_USERS_GROUPID=1100
CAL_USERID=110010
CAL_USERNAME="cal"
CAL_USERPWD="123456"

在使用配置文件建立用户的时候,

第一步肯定是判断一下传入的变量存不存在了,[ -z ${CAL} ] 这是为空判断

第二步就是删除用户(若是已经有用户了,你还建什么新用户!)

    判断用户是否存在  exist_user=`cat /etc/passwd | grep "^${CAL_USERNAME}:"`

   若是存在就找出这个用户真在运行的进程,杀掉,然后删除这个用户,根据需要选择删不删除他的家目录

   pid=`ps -u ${CAL_USERNAME} | awk '{print $1}' | sed -n '2,$'p`           

   kill -9 ${pid}

   userdel -r ${CAL_USERNAME}

第三步 删除用户组,实际上若是这个用户组和用户组id与我们所配置的一样或者不存在也就不删除,不一样才会删除

   groupid=`cat /etc/group | grep "^${CAL_USERS_GROUPNAME}" | awk -F: '{print $3}'`   

   groupdel ${CAL_USERS_GROUPNAME}

第四步 建立用户组,环境清理干净了,开始准备建立新用户了,当然我们可以先判断该用户组是否存在了,免得多此一举来建立

  groupadd -o -g ${CAL_USERS_GROUPID} ${CAL_USERS_GROUPNAME}  即使组id已经存在,也新建用户组

第五步 创建用户 ,我们创建用户时都会使用-p来设置密码,可是这里的密码是加密的,所以为了能正常登录,最好给我们的明文密码加密后,在-p写密文

   passwd=`mkpasswd ${CAL_USERNAME} at 2>/dev/null`

   useradd -u ${CAL_USERID} -g ${CAL_USERS_GROUPNAME} -d ${CAL_USERHOME} -s ${CAL_USERSHELL} -m ${CAL_USERNAME} -p ${passwd}

 

mkpasswd是加密算法,当然我不确定这个算法你们的机器也有,自己去找密文吧。

好了,这样创建出来的用户就可以像root一样登录了,权限肯定是比root小的啦。