Linux权限管理命令
目录
权限详解
普通权限
| 权限 | 对文件 | 对目录 |
|---|---|---|
| r | 查看文件内容 | 列出目录中的内容(如ls命令) |
| w | 修改文件内容 | 在目录中创建、删除文件 |
| x | 执行文件 | 进入目录 |
!注意:
- 是否能删除文件由其所属目录决定。
- 目录的读和执行权限总是同时出现。
特殊权限 SUID SGID SBIT
无论对文件还是目录, 要使用SUID/SGID/SBIT权限, 其user/group/others至少要具有x权限
- SUID 改变 user id
当s出现在二进制程序所有者的x权限位置上时, 就被称为 Set UID权限, 简称 SUID. SUID 有以下的限制与功能
- SUID权限仅对二进制程序有效
- 执行者须为
owner且具有对此文件的x权限 - 本权限仅在该程序执行时有效
- 功能: 在执行时改变用户
UID, 如passwd可以暂时将用户改为root,使用户能改变/etc/shadow(储存了所有用户的密码)文件的内容
- SGID 改变 group id
当s出现在二进制程序或目录所属组的x权限位置上时, 就被称为 Set GID权限, 简称 SGID. SGID 有以下的限制与功能
- 对二进制程序
- 执行者具有
x权限 - 执行者在执行过程中会获得该程序用户组的支持
- 执行者具有
- 对目录
- 用户若对目录有
r(一般和x同时出现)和x权限时, 可以进入此目录 - 用户在此目录下的有效用户组(effective group)将会变成该目录的用户组
- 用户若具有
w权限, 则用户在目录下创建的文件或目录的用户组与此目录的用户组相同
- 用户若对目录有
- SBIT sticky bit
当t出现在目录others的执行权限位置时, 称为sticky bit权限
- 执行者需要具有对目录的
w和x权限 - 当用户在此目录下的创建文件或目录时, 只有
owner和root才有权删除、重命名和移动此文件
!注意: 特殊权限一般需要其他普通权限, 当不具备时, 可以给予特殊权限, 但特殊权限为空, 表示为大写字母
1. chmod 改变文件或目录权限
-
名称: chmod (change the permissions mode of a file)
-
语法:
- chmod [-R] [{ugoa}{+-=}{rwxst}] [文件或目录]
- chmod [-R] [权限数字表示] [文件或目录]
-
普通语法
| 符号/选项 | 解释 |
|---|---|
| -R | 递归修改 |
| ugoa | 所有者、所属组、其他人、所有人 |
| +-= | 增加权限、减少权限、覆盖权限 |
| rwx | 读、写、执行 |
| u+s,g+s,o+t | SUID,SGID,SBIT |
操作符两边可以有多个字符, 多个表达式用逗号隔开
- 权限的数字表示法
[<特殊权限>]<所有者权限和><用户组权限和><其他人权限和>, 如777, 750, 4755- 普通权限
- 4: 读
- 2: 写
- 1: 执行
- 特殊权限
- 4: SUID
- 2: SGID
- 1: SBIT
- 普通权限
2. chown 改变文件所有者
- 语法: chown [目标用户] [文件或目录]
3. chgrp 改变文件所属组(用法同chown)
4. umask 显示/设置新建文件权限
- 语法: umask [-S] [权限掩码]
| 选项 | 功能 |
|---|---|
| 空 | 以<特殊权限><权限掩码(权限=默认权限-权限掩码)>的格式显示或修改新建文件缺省权限 |
| -S | 以<ugo>=<rwx>的格式显示或修改新建文件权限 |
注意并不是单纯的数字运算, 而是将数字转换为权限。例如
6-3=4而非6-3=3
rw---wx=r--, 而非rw---wx=-wx
- 新建文件/目录
- 用户
- 所有者: 创建者
- 所属组: 创建者的缺省组
默认权限- 目录: rwxrwxrwx 777
- 文件: rw-rw-rw- 666
- 用户
5. charttr 设置文件隐藏属性 (仅限于Ext*文件系统)
- 语法: charttr [-RV] [-v <版本编号>] [+-=][ASacdisu] [文件或目录]
| 选项 | 功能 |
|---|---|
| -R | 递归处理,对目录使用 |
| -V | 显示指令执行过程 |
| -v | 设置文件或目录的版本号 |
| 参数 | 功能 |
|---|---|
| A | 访问时不会修改atime,对速度较慢的计算机有用 |
| S | 文件修改将同步写入磁盘,而非异步 |
| a | 只能增加,不能修改和删除文件内容,只有root可以设置 |
| c | 存储时自动将文件压缩,读取时自动解压缩 |
| d | 当dump程序执行时,不会被dump备份 |
| i | 不能被删除、改名、设置链接,也无法写入或添加数据,只有root可以设置 |
| s | 当文件被删除时,会将数据从硬盘上删除 |
| u | 当文件被删除时,数据内容还会被保留在硬盘中 |
6. lsattr 显示目录隐藏属性
- 语法: lsattr [-adR] [文件或目录]
| 选项 | 功能 |
|---|---|
| -a(all) | 将隐藏文件的属性也显示出来 |
| -d | 将目标改为目录而不显示文件属性 |
| -R | 递归调用 |

浙公网安备 33010602011771号