下创建用户
日常运维我们使用useradd命令来创建用户,常用的命令如下:
- 不加任何参数,仅创建用户
示例:useradd myuser
此时用户的家目录是/home/myuser
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
示例:useradd -d /opt/myuser -m myuser
- -g 用户组 指定用户所属的用户组。
我们创建用户的时候会默认创建一个和用户名相同的用户组,但是有时有需求需要指定用户组,可以使用-g命令来完成用户创建,前提条件是指定的用户组已存在
示例:useradd -g mygroup myuser
2. linux下设置用户密码
2.1. 基本命令
linux下设置用户的密码需要使用passwd命令
- root用户修改或设置普通用户密码命令:
方法一:passwd 普通用户名
示例:passwd myuser
会提示你输入密码,并且需要做一次确认密码的重试输入
如果输入密码后提示:Password has been already used. Choose another.则说明设置的密码之前使用过,执行echo "" > /etc/security/opasswd后重试即可
方法二:echo "密码"| passwd 用户名 --stdin
示例:echo "Puluo@123"| passwd myuser --stdin
这个时候需要使用passwd myuser命令来修改密码,如果输入密码后提示:Password has been already used. Choose another.则说明设置的密码之前使用过,执行echo "" > /etc/security/opasswd后重试即可
- 普通用户或root用户修改自己的密码
输入passwd命令后按回车键后输入两次密码即可。
2.2. passwd常用参数
- -l 锁定口令,即禁用账号。
示例:passwd -l myuser
执行完成后再登录myuser用户输入之前的密码后会提示Access denied
有时候我们发现机器账号异常登录可以先执行这个命令将用户锁死
- -u 解锁用户。
示例:passwd -u myuser
- -d 使账号无需密码即可登录。
示例:passwd -d myuser
这个我尝试执行后发现在登录的时候仍然提示我需要输入密码,但是使用其他普通用户切换到这个用户时可以不输入密码
3. linux下添加用户组
groupadd 用户组名称
示例:groupadd mygroup
4. linux下修改用户信息
有时我们需要修改用户的用户组,家目录等信息,这时候使用useradd命令显然就不合适了,linux系统为我们提供了usermod命令,常用的参数与useradd一样大家可自行尝试。
5. linux删除用户
删除用户使用命令userdel,示例:userdel myuser,使用这个命令的话只会删除用户,用户的主目录不会被删除,如果需要删除用户的时候也将用户主目录删除则可以使用-r,示例:userdel -r myuser
6. linux删除用户组
删除用户组使用命令groupdel,示例:groupdel mygroup,注意,被删除的用户组不可以是任何用户的主用户组,否则删除失败。用户组删除完成后可以到/etc/group文件中去查看被删除则用户组名称已经不存在了。
7. Shell脚本创建用户
#!/bin/bash
# 需要创建的用户名,示例:USER_NAME=myuser
USER_NAME=
# 创建用户所属的用户组,示例:USER_GROUP=mygroup
USER_GROUP=
# 用户密码,示例:USER_PASSWD=Cloud12#$
USER_PASSWD=
# 校验参数
function check_param()
{
if [[ ! -n ${USER_NAME} ]] || [[ ! -n ${USER_GROUP} ]] || [[ ! -n ${USER_PASSWD} ]]; then
echo "ERROR: Please check the param USER_NAME,USER_GROUP,USER_PASSWD can not be null"
exit 1;
fi
}
# 创建用户
function creat_user()
{
check_param
#create group
grep "^${USER_GROUP}" /etc/group &> /dev/null
if [ $? -ne 0 ]; then
groupadd ${USER_GROUP}
fi
#create user
id ${USER_NAME} &> /dev/null
if [ $? -ne 0 ]; then
useradd -g ${USER_GROUP} ${USER_NAME} -d /home/${USER_NAME}
echo ${USER_PASSWD}| passwd ${USER_NAME} --stdin
chage -M 99999 ${USER_NAME}
fi
}
creat_user $*
该脚本需要填写的参数在脚本的最上方
USER_NAME |
需要创建的用户名 示例USER_NAME=myuser |
USER_GROUP |
创建用户所属的用户组 示例USER_GROUP=mygroup |
USER_PASSWD |
用户密码 示例USER_PASSWD=Cloud12#$ |