Linux用户与组
转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/1882202
用户与用户组的关系
Linux 是多用户多任务操作系统,也就是说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。
不同的用户具有不同的权限,每个用户可以在不同的权限范围内执行不同的操作。
用户与用户组的关系:
1、一个用户可以存在于一个组中(一对一关系)
2、一个用户可以存在多个用户组中,此用户具有这多个组的共同权限(一对多关系)
3、多个用户可以存在一个组中,这些用户具有和组相同的权限(多对一关系)
4、多个用户可以存在多个组中,也就是以上 3 种关系的扩展(多对多关系)
用户相关的系统配置文件
/etc/group文件、/etc/gshadow文件、/etc/passwd文件、/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。
其中/etc/group文件存放着linux用户组的所有信息,而/etc/gshadow是/etc/group的加密信息文件。
1、查看用户组配置文件:cat /etc/group
用户组的所有信息都存放在/etc/group文件中,用户组的增加、删除和修改实际上就是对/etc/group文件
的更新。
[root@izwz91quxhnlkan8kjak5hz ~]# cat /etc/group | grep www
www:x:1001:
其含义依次为:
- 第一列:群组名称
- 第二列:群组密码(通常不需要设定,密码被记录在/etc/gshadow)
- 第三列:GID,即群组ID
- 第四列:附加组(以,来分割,该账户没有附加组所以为空)
1、新增用户:useradd [option] [option] [用户帐号]
1、修改某个目录或文件的用户名和用户组:chown [-cfhvR] [--help] [--version] user[:group] filename
1、修改某个目录或文件的用户名和用户组:chown [-cfhvR] [--help] [--version] user[:group] filename
这个指令只有是由系统管理者(root)所使用
- user : 新的文件拥有者的使用者 ID
- group : 新的文件拥有者的使用者组(group)
- -c : 显示更改的部分的信息
- -f : 忽略错误信息
- -h :修复符号链接
- -v : 显示详细的处理信息
- -R : 处理指定目录以及其子目录下的所有文件
- --help : 显示辅助说明
- -version : 显示版本
| 命令 | 注释 |
|---|---|
| chown -R www:www * | 将目前目录下的所有文件与子目录的拥有者皆设为 www,群体的使用者 www |
| chown www:www file1.txt | 将文件 file1.txt 的拥有者设为 www,群体的使用者 www |
2、新增用户组:groupadd [-g gid [-o]] [-r] [-f] 用户组名
- -g:指定新建工作组的 id;
- -r:创建系统工作组,系统工作组的组ID小于 500;
- -K:覆盖配置文件 "/ect/login.defs";
- -o:允许添加组 ID 号不唯一的工作组。
- -f,--force: 即使组群已经存在,还是强制创建组群。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
| 命令 | 注释 |
|---|---|
| groupadd -g 344 runoob | 创建一个新的组,并添加组 ID |
| groupadd -f test | 强制创建用户组 |
3、删除用户组:groupdel [用户组]
| 命令 | 注释 |
|---|---|
| groupadd test | 删除test用户组 |
4、修改用户组:groupmod [option] [用户组名称]
- -g 设置欲使用的群组识别码。
- -o 重复使用群组识别码。
- -n 设置欲使用的群组名称。
| 命令 | 注释 |
|---|---|
| groupmod -n test test1 | 修改用户组名 |
5、查看用户所属用户组:groups [用户]
[root@izwz91quxhnlkan8kjak5hz /]# groups root guest
root : root
guest : guest