用户组和权限管理

用户管理

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

image-20220508164058029

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 个旧密码重复
posted @ 2023-05-09 16:36  loser_xu  阅读(56)  评论(0)    收藏  举报