用户组和权限管理
用户管理
gpasswd newgroup useradd
useradd命令
useradd user_name 创建用户
-u 指定用户uid
-g 指定用户主组所属组gid,前提组已存在
-G 指定附加组,组要存在
-a 追加附加组,一般与G一起使用
-c 指定描述信息
-d 指定用户家目录
-s 指定用户的登录shell
usermaod 命令
usermod username 修改用户信息
-u 修改uid
-g 修改主组的gid
-G 修改附加组
-a 追加附加组,与G一起使用
-c 修改描述信息
-d 修改家目录
-s 修改登录shell
groupadd
groupadd groupname 创建组
-g 指定组gid
groupmod
groupmod groupname 修改组
-g 修改组的gid
-n 指定组的新组名
groupmems
-a 添加用户到组
-g 指定组名
-d 删除组的成员
-p 清空组内用户
-l 列出组成员
userdel
userdel username 删除用户
-r 删除用户家目录和邮箱
groupdel
groupdel 组名 删除组
用户、组的文件
/etc/passwd 存放用户信息
user2:x:1002:1002::/home/user2:/bin/bash
user2:用户名,小写
x:代表登录该用户时需要密码,rhel8后的系统仅针对root生效,rhel8以前的版本针对所有用户生效
1002:用户的uid,系统识别用户是通过uid,而用户名是给用户登录和查看用的
1002:组的id
第五栏位:用户的描述信息
/home/user2:用户的家目录,每当切换到该用户,会进入用户的家目录
/bin/bash:用户的登录shell
每个用户必须有一个所属组,,所属组,附加组
/etc/group 组的信息
组内可以有多个用户
ser2:x:1002:
user2:组名
x:代表登录该组时需要密码,rhel8后的系统仅针对root生效,rhel8以前的版本针对所有用户生效
1002:组的gid
最后一栏:组内的成员
/etc/shdow 用户密码信息
字段1:用户名
字段2:密码加密字串
字段3:上次修改密码时间,表示距1970.01.01至今的天数
字段4:密码最小有效期
字段5:密码最长有效期
字段6:密码到期警告天数
字段7:密码过期后账号保持活跃天数
字段8:账号失效时间,距1970.01.01至今的天数
字段9:保留字段
配置密码的期限chage
语法:chage [选项] 用户
chage -m 0 -M 90 -W7 -l14 user 13 分别修改用户密码的最短期限,最长期限,警告天数,和失效期限
常用选项:
-m --min #密码最短期限
-M --Max #密码最长有效期
-W #到期警告天数
-I #密码过期后保持活跃天数
-E #失效日期 -E 2022-10-10
加密的密码 openssl
$6 512 哈希 加密
$1 md5 加密
*! 标识从来没有设置过密码 或锁定用户
文件权限
文件:拥有人,拥有组,其他人 进程依次匹配
进程------>访问文件----->匹配身份权限
权限对文件和目录的作用
- 文件:
r 读取文件内容,使用cat、more等命令查看
w 可以编辑修改文件内容
x 执行文件
- 目录:
r 可以查看目录下的文件,使用ls命令
w 可以新建,删除目录下的文件,重命名文件
x 能否进入到目录下
对于目录而言,至少要有rx权限
复制文件要对文件有r权限,对文件的目录有x权限
修改权限
chmod
- 使用 u、g、o表示拥有人,拥有组、其他人,= - +修改权限
- 使用数字修改权限 r -4 w -2 x-1
IO输入输出
标准输出stdout:默认是终端
错误输出stderr:默认是终端
标准输入stdin:默认是键盘
>> 正确的输出追加到文件末尾
2> 错误输出重定向
2>> 同上
&> 全部重定向
&>> 同上
2>&1 将错误的输出转换成错误的输出
密码策略
chage

CentOS8&RHEL8 密码策略的设置
步骤目录:
步骤一:设置密码必须包含大小写字母等策略
1.1 生成设置密码必须包含大小写字母的策略文件
1.2 设置密码必须包含大小写字母等策略
步骤二:设置密码有效期等策略
步骤三:设置新密码不能和旧密码重复的策略
具体的操作步骤:
步骤一:设置密码必须包含大小写字母等策略
1.1 生成设置密码必须包含大小写字母的策略文件
# authselect list
- nis Enable NIS for system authentication
- sssd Enable SSSD for system authentication (also for local users only)
- winbind Enable winbind for system authentication
- custom/password-policy Enable SSSD for system authentication (also for local users only)
(
注意:如果没有 custom/password-policy 文件则进行以下操作:
# authselect create-profile password-policy -b sssd --symlink-meta --symlink-pam
# authselect select custom/password-policy
# authselect current
Profile ID: custom/password-policy
Enabled features: None
)
1.2 设置密码必须包含大小写字母等策略
# vim /etc/security/pwquality.conf
将部分内容修改如下
......
minlen = 15 #密码最小长度为 15 个字符
......
dcredit = -1 #密码包含数字的个数,-1 代表必须包含
......
ucredit = -1 #密码包含大写字母的个数,-1 代表必须包含
......
lcredit = -1 #密码包含小写字母的个数,-1 代表必须包含
......
ocredit = -1 #密码包含特殊字符的个数,-1 代表必须包含
......
dictcheck = 1 #检查密码中是否包含字典
......
usercheck = 1 #检查密码中是否包含用户名
......
步骤二:设置密码有效期等策略
# vim /etc/login.defs
将部分内容修改如下:
......
PASS_MAX_DAYS 90 #密码有效期为 90 天
PASS_MIN_DAYS 0 #密码最小修改间隔为 0 天
PASS_MIN_LEN 15 #密码最小长度为 15 个字符
PASS_WARN_AGE 7 #密码快过期时提前 7 天发出警告
......
步骤三:设置新密码不能和旧密码重复的策略
# vim /etc/authselect/custom/password-policy/password-auth
将以下内容:
......
password.*requisite.*pam_pwhistory.so
......
修改为:
......
password requisite pam_pwhistory.so remember=5 use_authtok #新密码不能和前 5 个旧密码重复
......
# vim /etc/authselect/custom/password-policy/system-auth
将以下内容:
......
password.*requisite.*pam_pwhistory.so
......
修改为:
......
password requisite pam_pwhistory.so remember=5 use_authtok #新密码不能和前 5 个旧密码重复

浙公网安备 33010602011771号