Linux组管理和权限管理
组的基本介绍
在Linux中的每个用户必须属于一个组,不能独立于组之外,在linux中每个文件有 所有者
、所在组
、其它组
的概念。
1)所有者
2)所在组
3)其它组
4)改变用户所在组
新增组
指令
groupadd 组名:增加一个新的用户组
-g:指定用户组标识号GID
-o:一般与-g一起使用,表示新用户组的GID可以与已有用户组GID相同
示例:
- groupadd group1:增加一个用户组group1,GID是在当前已有GID最大值上加1
- groupadd -g 101 group1:增加一个用户组group1,并指定其GID为101
删除组
groupdel 组名:组名不存在时会提示错误信息。
修改用户组
在添加用户时,可以指定将用户添加到哪个组,可以用root的权限改变用户所在的组。
usermod -g 用户组 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
用户和组相关的文件
/etc/passwd:
- 用户的配置文件,记录用户的各种信息
- 每行含义,用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
- wansw:x: 1001: 1001: : /home/wansw: /bin/bash
/etc/shadow
- 口令的配置文件
- 每行含义,登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
- 组的配置文件,记录Linux包含的组的信息
- 每行含义,组名:组标识号:组内用户列表
查看文件的所有者
ls -ahl:-rw-r–r– 1 root root 162 Jul 6 2018 1.log
第一个root:所属用户
第二个root:用户所属组
chgrp,采用群组名或群组识别码GID的方式改变文件或目录的所属群组,超级用户使用。被改变的组名必须在/etc/group文件内存在
-c:当发生改变时输出调试信息
-f:不显示错误信息
-R:处理指定目录及其下所有子目录、子文件
-v:运行时显示详细处理信息
例如:
chgrp -v bin log1.log:将log1.log的群组改为bin,并显示详细处理信息
chgrp –reference=log2.log log1.log:改变log1.log群组属性,使之参考log2.log
chgrp -R bin test:改变test下所有目录及其子目录的群组属性为bin
chgrp -R 100 test:根据群组识别码GID改变test群组属性
chgrp polic orange.txt:把文件的所属组改成 polic
chown,改变文件的拥有者与群组,拥有者可用用户名或用户ID、群组可用组名或组ID。chown命令的操作权限一般为系统管理员,系统管理员常将文件拷贝到另一用户目录名下,使之拥有使用该文件的权限
-c:显示更改的部分信息
-f:忽略错误信息
-R:处理指定目录及其下所有子目录、子文件
-v:显示详细处理信息
例如:
chown mail:mail log1.log:改变log1.log的拥有者与所属群组为mail
chown :mail log1.log:改变log1.log的文件群组为mail
chown -R -v root:mail test6:改变test6文件夹及其下所有文件/文件夹的所有者为root,群组为mail,修改时显示处理信息。
权限介绍
-rw-r–r– 1 root root 162 Jul 6 2018 1.log
0:确定文件类型。
- d:目录
- - :普通文件
- l:软链接
- c:字符设备【键盘、鼠标等】
- b:块文件【硬盘】
1-3:确定文件的所有者拥有的权限—User。
4-6:确定所属组的用户拥有的权限–Group。
7-9:确定其他用户拥有的权限–Other User。
- 10:
- 第一位是目录:表示 该目录下的子目录数量【包含有隐藏目录数量】。
- 第一位是文件:表示硬链接数。
- 第一个root:所属用户
- 第二个root:文件所在组
- 162:表示文件大小
- 如果是目录,此处显示 4096。
- Jul 6 2018:最后修改时间
rwx权限说明
- 作用到文件上:
- r:可读
- w:可写,只有对该文件所在目录有写权限,才可以对文件进行删除。
- x:可以执行
- 作用到目录:
- r:可读,ls 命令可以查看目录内容
- w:可以修改,目录内新增+删除+重命名目录
- x:可以进入该目录
- 可以用数字表示权限:
- r:4
- w:2
- x:1
chmod,用于改变Linux系统文件或目录的访问权限
-f:错误信息不输出
-c:当发生改变时,报告处理信息
-R:处理执行目录及其子目录下所有文件
-v:运行时显示详细处理信息
<权限范围>+<权限设置>:使权限范围内的目录或文件具有指定权限
<权限范围>-<权限设置>:删除权限范围内的目录或文件的指定权限
<权限范围>=<权限设置>:设置权限范围内的目录或文件的权限为指定的值
权 限 范 围 | 权 限 代 号 |
---|---|
u:目录或文件的当前用户 | r:读,代号为4 |
g:目录或文件的当前群组 | w:写,代号为2 |
o:其他用户或群组 | x:执行,代号为1 |
a:所有用户和群组 | -:删除,代号为0 |
s:特权权限 |
例如:
chmod a+x log1.log:设定文件log1.log所有用户或群组都有执行权限
chmod ug+x,o-x log1.log:同时设定不同的用户权限
chmod u=x log1.log:撤销用户原有对log1.log的权限并设定为x
chmod -R u+x test4:递归地给test4下所有文件与子目录分配执行权限
chmod 751 file:给file、属主分配读、写、执行权限,给所在组分配读、执行权限,其他用户分配执行权限
chmod tom apple.txt:把 apple.txt 文件 的所有者转给 tom 用户