用户
- 超级管理员用户 root 0
- 普通用户
- 系统用户:用来启动系统的一些服务或进程的用户,不可以登录1-1000(centos 7)
- 可登录用户:能登录系统的用户1000-65535(centos 7)
useradd
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]
普通用户的id是递增,系统用户是递减的
- -d 用来指定用户的家目录
- -g 指定用户组的id
- -G 指定用户的附加组
- -k 指定复制那个文件夹下的内容,需要跟-m一起使用
- -m 创建用户的家目录
- -c “message” 指定用户的描述信息
- -N 不创建同名的组,以users为自己的组
- -s 指定用户登录后使用的shell
- -u 指定用户的id
- -D 显示系统的默认配置
- -D [options] 可以修改系统的默认配置
相关文件 - /etc/default/useradd 创建用户的默认文件
- /etc/skel/* 默认复制的文件
用户修改usermode
- -c 修改描述信息
- -d 修改家目录,默认不会创建新目录,如果想移动家目录,则需要使用-m
- -g 修改用户组
- -G 修改用户的附加组,默认情况下是替换
- -a 追加附加组
- -l newname 修改用户的登录名
- -L 锁定用户,不能登录系统,修改密码默认情况下会解锁
- -U 解锁用户
- -s 修改用户登录后的shell
- -u 修改用户的uid
- -e 年-月-日 修改用户的过期时间,过期后不能登录
删除用户 USERDEL
默认删除用户不删除用户的家目录
- -r 删除家目录
- -f 强制删除
- 默认情况下,用户登录状态下是不能删除用户,强制删除用户以后,用户还是可以用的
查看用户相关信息id
- -g 只显示组id
- -G 只显示组附组id
- -u 只显示用户id
- -n 显示名称,需要和gGu来配合使用
切换用户
Usage:
su [options] [-] [USER [arg]…]
切换用户的方式
- 完整切换:su -username 登录式切换,环境变量等都会切换
- 不完整切换:su username 不会切换用户的环境变量家目录等
- root切换普通用户不需要密码,非root用户切换需要密码
切换用户执行命令
[root@localhost ~]# su -crazydemo -c “whoami”
crazydemo
执行本身不能执行的文件
sudo 配置文件为 /etc/sudoers
crazydemo ALL=(all) NOPASSWD:ALL
其中的NOPASSWD 是不需要输入密码
/etc/passwd 文件
- 用户名称
- 密码,使用x来占位
- uid
- gid
- 描述信息
- 登录后使用的shell
设置密码
passwd [OPTION…] <ACCOUNTName>
-d 删除指定用户密码,删除密码之后就不能登录
-l 锁定用户
-u 解锁用户
-e 在下次登录以后强制用户修改密码
-f 强制操作
-x maxday 密码最长使用时间
-n minday 密码最短使用时间
-w warnday 密码过期前多长时间提醒
-i inactiveday 密码过期多长时间以后禁用
–stdin 从标准输入读取密码 echo ‘123’|passwd --stdin crazydemo
存放文件/etc/shadow
- 用户名
- 密码$加密方式(默认sha512)$盐$加密后的字符串$
- 从1970年1月1日到最近一次修改密码经过的时间
- 密码的最短使用时间(0表示随时可以修改)
- 密码的最长使用时间(99999表示用不过期)
- 密码过期多长时间提醒(默认是一周)
- 密码过期多长时间锁定
- 从1970年1月1号开始算起,多长时间后账号失效
密码的复杂性策略
- 必须包括数字、大小写、特殊字符
- 密码必须12位以上
- 不能为弱口令
- 必须为随机密码
- 3个月或者半年修改一次
修改用户密码策略 chage
-E
-I
-m
-M
-W
change login 可以使用交互式的修改密码策略
chfg 修改用户的个人信息
用户组
- 超级用户组 root 0
- 普通用户组
- 系统用户组
- 可登录用户组
groupadd
-g 指定组id
-r 创建系统用户组
组的文件
/etc/group
- 组名
- 密码占位
- gid
- 组成员
/etc/gshadow - 组名
- 密码
- 组管理员的密码
- 组成员
修改组信息
groupmod
-g 修改gid
-n 修改组名
删除组
groupdel 删除组