linux文件系统权限管理
封面图
•
2025-09-29
•
Linux
166
0
0
0
Linux 文件系统权限管理是 Linux 系统安全的重要组成部分,它通过设置文件和目录的访问权限来控制用户对资源的访问。以下是关于 Linux 文件系统权限管理的基本知识: --- ## 一、基本权限类型 在 Linux 中,每个文件或目录都有三种基本权限: | 权限 | 说明 | |------|------| | **r (read)** | 可读:可以查看文件内容或列出目录中的文件 | | **w (write)** | 可写:可以修改文件内容或在目录中创建/删除文件 | | **x (execute)** | 可执行:可以运行脚本或进入目录 | --- ## 二、权限对象(用户类别) 权限可以分配给以下三类用户: | 用户类别 | 说明 | |----------|------| | **u (user)** | 文件或目录的所有者(owner) | | **g (group)** | 所属组(group) | | **o (others)** | 其他用户(非所有者且非所属组) | | **a (all)** | 所有用户(u + g + o) | --- ## 三、查看权限 使用 `ls -l` 命令查看文件或目录的权限: ```bash $ ls -l filename -rwxr-xr-- 1 user group 1234 Jan 1 00:00 filename ``` - `-rwxr-xr--`:权限部分 - 第一个字符:文件类型(`-` 表示普通文件,`d` 表示目录) - 接下来的 9 个字符分为三组: - **rwx**:所有者权限 - **r-x**:所属组权限 - **r--**:其他用户权限 --- ## 四、修改权限 ### 1. 使用 `chmod` 命令 #### 符号方式(Symbolic Mode) ```bash chmod [who][operator][permission] file ``` - **who**: u, g, o, a - **operator**: +(添加)、-(移除)、=(设置) - **permission**: r, w, x **示例:** ```bash chmod u+x script.sh # 给所有者添加可执行权限 chmod go-w file.txt # 移除组和其他用户的写权限 chmod a=r file.txt # 设置所有用户为只读 ``` #### 数字方式(Numeric Mode) 用三位数字表示权限,每一位代表不同用户类别的权限: - **r = 4** - **w = 2** - **x = 1** **示例:** ```bash chmod 755 script.sh # 所有者:rwx (7),组:rx (5),其他:rx (5) chmod 644 file.txt # 所有者:rw (6),组:r (4),其他:r (4) ``` --- ## 五、更改所有者和所属组 ### 1. `chown`:更改文件所有者 ```bash sudo chown user file.txt sudo chown user:group file.txt # 同时更改所有者和所属组 ``` ### 2. `chgrp`:更改文件所属组 ```bash sudo chgrp group file.txt ``` --- ## 六、特殊权限(高级权限) 除了基本权限外,Linux 还支持一些特殊权限: | 权限 | 说明 | |------|------| | **SUID (Set User ID)** | 当文件被执行时,以文件所有者的身份运行(仅适用于可执行文件) | | **SGID (Set Group ID)** | 当文件被执行时,以文件所属组的身份运行;目录中新建文件继承所属组 | | **Sticky Bit** | 仅允许文件所有者或 root 删除文件(常用于 `/tmp` 目录) | **设置方式:** ```bash chmod 4755 file # 设置 SUID chmod 2755 directory # 设置 SGID chmod 1755 directory # 设置 Sticky Bit ``` --- ## 七、ACL(访问控制列表) 对于更细粒度的权限控制,可以使用 ACL。 ### 安装 ACL 支持: ```bash sudo apt install acl # Debian/Ubuntu sudo yum install acl # CentOS/RHEL ``` ### 查看 ACL: ```bash getfacl filename ``` ### 设置 ACL: ```bash setfacl -m u:user:rwx file.txt setfacl -m g:group:rwx file.txt ``` --- ## 八、权限总结 | 操作 | 命令 | |------|------| | 查看权限 | `ls -l` | | 修改权限 | `chmod` | | 更改所有者 | `chown` | | 更改所属组 | `chgrp` | | 查看 ACL | `getfacl` | | 设置 ACL | `setfacl` | --- 如果你有具体的场景或问题(比如“如何让某个用户能访问特定目录”),欢迎继续提问!
上一篇:
linux 用户和用户组的管理
下一篇:
linux数值设定权限法
标题录入,一次不能超过6条
返回顶部
留言
留言
评论