用户名用户组 useradd
相关配置文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/shadow:用户密码及其相关属性
/etc/group:组及其属性信息
/etc/gshadow:组密码及其相关属性
生成随机密码的几种命令
[root@centos7]# tr -dc '[:alnum:]' < /dev/urandom | head -c 12
wEEFZZxJrZ0y
[root@centos7]# openssl rand -base64 9
wXnqStq6spcJ
用户和组管理命令
用户管理命令
useradd
usermod
userdel
组帐号维护命令
groupadd
groupmod
groupdel
添加用户 useradd
常见选项
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-p 指定加密的密码
范例:
useradd -r -u 48 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache
# 新建用户并指定密码
useradd userxx;echo "passwdxxx" | passwd --stdin userxx
passwd 可以修改用户密码
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码,Ubuntu无此选项
范例: 初始化密码 非交互式 tomcat是用户名 123456 是密码
echo '123456' | passwd --stdin tomcat
usermod 命令可以修改用户属性
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使
用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限期
userdel 可删除Linux 用户
-f, --force 强制
-r, --remove 删除用户家目录和邮箱
范例
[root@centos8 ~]#useradd test
[root@centos8 ~]#id test
uid=1001(test) gid=1001(test) groups=1001(test)
#在另一终端用test登录
[root@centos8 ~]#su - test
[test@centos8 ~]$
#删除正在登录的用户失败
[root@centos8 ~]#userdel -r test
userdel: user test is currently used by process 29909
[root@centos8 ~]#id test
uid=1001(test) gid=1001(test) groups=1001(test)
#强制删除用户
[root@centos8 ~]#userdel -rf test
userdel: user test is currently used by process 29909
[root@centos8 ~]#id test
id: ‘test’: no such user
id 命令可以查看用户的UID,GID等信息
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用
切换用户用su su -tomcat 切换到tomcat 用户去了
chage 可以修改用户密码策略
-d LAST_DAY #更改密码的时间
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-I --inactive INACTIVE #密码过期后的宽限期
-E --expiredate EXPIRE_DATE #用户的有效期
-l 显示密码策略
#范例交互式
chage 用户名
#非交互式
chage -m 3 -M 42 -W 14 -I 7 -E 2020-10-10 用户名
#下一次登录强制重设密码
chage -d 0 用户名
创建组groupadd
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
范例
groupadd -g 48 -r 组名
groupmod 组属性修改
-n group_name: 新名字
-g GID: 新的GID
groupdel 可以删除组
-f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录
gpasswd命令,可以更改组密码,也可以修改附加组的成员关系
格式
gpasswd [OPTION] GROUP
选项
-a user 将user添加至指定组中
-d user 从指定附加组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表