3.1 用户组的管理

安全上下文

    在CentOS中的访问控制时基于主体与客体的相关的访问控制属性的。其中访问控制属性被称为安全上下文。客体(文件、套接字、管道、网络主机)与主体(进程)之间有一个和他们相关的单一安全上下文。

    一个安全上下文有三个元素:用户(user):角色(role):类型标识符(type)。

[root@CentOS7 ~]# ls /data/file.txt -Z
-rw-r--r--. root root unconfined_u:object_r:etc_runtime_t:s0 /data/file.txt

    进程能够访问资源的权限取决于进程的运行者身份。

用户user、组group

令牌(token)

    登陆令牌,利用token值来判断用户的登陆状态,只在用户登陆时颁发。

用户类别(user)

    每个用户都有用户名与UID号。UID号决定用户的权限,管理员的UID为0,普通用户的UID为1~63354,其中在CentOS6中1~499为系统用户,CentOS7中是1~999。

用户的管理

    用户的配置文件:/etc/passwd     存放用户及其属性信息                                                                                /etc/shadow     存放用户密码及其属性信息

    组的配置文件:   /etc/group         存放组及其属性信息                                                                                  /etc/gshadow    存放组密码及其属性信息

[root@CentOS7 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@CentOS7 ~]# cat /etc/shadow
root:$6$psry5aGBkNnFOj4o$DleLy2xDe.MowyenDm.OJSFlZMgoXjxgpb51/AndAFjM7BvjSiLZqXbFj/d2Btnii.zSH6Pnaov5DZBQ1gmHh0::0:99999:7:::
passwd:login name:登录用名
               passwd:密码 (x)
               UID:用户身份编号
               GID:登录默认所在组编号
               GECOS:用户全名或注释
               home directory:用户主目录
               shell:用户默认使用shell

shadow:登录用名
                用户密码:一般用sha512加密
                从1970年1月1日起到密码最近一次被更改的时间
                密码再过几天可以被变更(0表示随时可被变更)
                密码再过几天必须被变更(99999表示永不过期)
                密码过期前几天系统提醒用户(默认为一周)
                密码过期几天后帐号会被锁定
                从1970年1月1日算起,多少天后帐号失效

    更改密码加密算法:authconfig --passalgo=算法 --update

    密码位开头的两个"$"之间表示加密算法,到第三个"$"之间是盐,用来使相同密码之间的密文不同。

[root@CentOS7 ~]# cat /etc/group
root:x:0:gentoo
[root@CentOS7 ~]# cat /etc/gshadow
root:::gentoo
group:group name:群组名称
             passwd:密码 (x)
             GID:群组身份编号

             user list:以当前组作为附加组的用户列表

gshadow:群组名称
                  密码 
                  组管理员列表

                  以当前组作为附加组的用户列表

    getent命令用于查看系统中数据库内的数据

如:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 

    id命令用于查看系统中用户相关的ID信息。

    语法:id [选项] [用户]

[root@CentOS7 ~]# id jiangbowen
uid=1000(jiangbowen) gid=1000(jiangbowen) groups=1000(jiangbowen)

    选项

-u 显示UID
-g 显示GID
-G 显示用户所属组的ID

-c "COMMENT":用户的注释信息

    su命令用于切换当前用户的身份到其他用户身份。

    语法

[root@CentOS7 ~]# su - jiangbowen
Last login: Mon Apr  2 04:48:44 CST 2018 on :0
[jiangbowen@CentOS7 ~]$ 

    使用"su 用户"是非登陆式切换,即不会读取目标用户的配置文件,不改变当前工作目录;使用"su - 用户"是登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换。root切换至其他用户无须密码;非root用户切换时需要密码。

user和group管理的命令

    useradd命令用于在系统中创建新的用户。

    语法:useradd [选项] 用户名

[root@CentOS7 home]# useradd linux -g jiangbowen
[root@CentOS7 home]# id linux
uid=1006(linux) gid=1000(jiangbowen) groups=1000(jiangbowen)

    选项

-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户
-m 创建家目录,用于系统用户

-M 不创建家目录,用于非系统用户

    系统在创建新用户时,会自动从/etc/stel中复制必要的配置文件,如果在/etc/passwd中修改用户的家目录,会导致次用户的异常。

    创建新用户的默认配置文件在/etc/default/useradd文件中,可以使用

    useradd -D [选项]修改默认配置。

    usermod命令用于在系统中修改用户的属性。

    语法:usermd [选项] 用户名

[root@CentOS7 home]# id linux
uid=1006(linux) gid=1007(linux) groups=1007(linux)
[root@CentOS7 home]# usermod linux -g jiangbowen
[root@CentOS7 home]# id linux
uid=1006(linux) gid=1000(jiangbowen) groups=1000(jiangbowen)

    选项

-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: 设定非活动期限

    系统的用户限制文件在/etc/login.defs中,可以修改创建用户时的:邮箱目录,密码最大有效期,密码最小有效期,密码最小长度,密码警告时间,最小UID、GID,最大UID、GID,删除用户使用的脚本,使用useradd命令创建用户时是否创建家目录,初始权限,userdel时是否保留组成员,使用哪种算法加密。

    userdel命令用于从系统中删除用户。

    语法:userdel [-r] 用户

[root@CentOS7 ~]# userdel -r linux
[root@CentOS7 ~]# id linux
id: linux: no such user

    passwd命令用于设置用户的认证信息。

    语法:passwd [选项] 用户

[root@CentOS7 ~]# echo "dengniaiwo123" | passwd --stdin jiangbowen
Changing password for user jiangbowen.
passwd: all authentication tokens updated successfully.

    选项

-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f: 强制操作
-n: 指定最短使用期限
-x:最大使用期限
-w:提前多少天开始警告
-i:非活动期限

--stdin:从标准输入接收用户密码

    chpasswd用于批量修改用户口令。

    语法:chpasswd < [文件]

    文件的格式必须是"用户名:密码"为一行。

    chage命令用于修改用户认证策略。

    语法:chage [选项] 用户

[root@CentOS7 ~]# chage -l jiangbowen
Last password change					: Apr 03, 2018
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

    选项

-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 显示密码策略


    pwconv、pwunconv命令用于决定用户口令存放在/etc/shadow还是/etc/passwd中。

    pwck、grpck命令用于检查passwd、group的文件内容格式。

    groupadd命令用于在系统中创建群组。

    语法:groupadd [选项] 组名称

[root@CentOS7 ~]# groupadd magedu
[root@CentOS7 ~]# grep magedu /etc/group
magedu:x:1007:

-g 指明GID号-

-r 创建系统组

    groupmod命令用于修改群组的属性。

    语法:groupmod [选项] 群组

[root@CentOS7 ~]# groupmod magedu -n MAGEDU
[root@CentOS7 ~]# grep mage
[root@CentOS7 ~]# grep MAGEDU /etc/group
MAGEDU:x:1007:

-g 修改GID

-n 修改名字

    groupdel命令用于删除群组。

    gpasswd命令用于管理群组成员。

    语法:gpasswd [选项] 群组

[root@CentOS7 ~]# gpasswd MAGEDU -a jiangbowen
Adding user jiangbowen to group MAGEDU
[root@CentOS7 ~]# grep MAGEDU /etc/group
MAGEDU:x:1007:jiangbowen

    选项

-a 将user添加至指定组中
-d 从指定组中移除用户user

-A 设置有管理权限的用户列表

    newgrp命令用于临时切换主组。

[root@CentOS7 ~]# newgrp jiangbowen
[root@CentOS7 ~]# id -g
1000

    groupmems命令用于更改和查看组成员

    语法:groupmems [选项] [行为]

[root@CentOS7 ~]# groupmems -g jiangbowen -l
nginx  jiangbowen 
[root@CentOS7 ~]# groupmems -g jiangbowen -d nginx
[root@CentOS7 ~]# groupmems -g jiangbowen -l
jiangbowen 

    选项:-g 更改指定组

    行为

-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值