Linux中怎么设置文件权限和目录

发布时间:2021-07-30 11:41:42 作者:Leah
来源:亿速云 阅读:189
# Linux中怎么设置文件权限和目录

## 目录
1. [Linux文件权限基础概念](#1-linux文件权限基础概念)
   - [1.1 权限类型](#11-权限类型)
   - [1.2 用户类别](#12-用户类别)
2. [查看文件权限](#2-查看文件权限)
   - [2.1 ls命令详解](#21-ls命令详解)
   - [2.2 stat命令](#22-stat命令)
3. [修改文件权限](#3-修改文件权限)
   - [3.1 chmod命令](#31-chmod命令)
   - [3.2 数字表示法](#32-数字表示法)
   - [3.3 符号表示法](#33-符号表示法)
4. [特殊权限设置](#4-特殊权限设置)
   - [4.1 SUID](#41-suid)
   - [4.2 SGID](#42-sgid)
   - [4.3 Sticky Bit](#43-sticky-bit)
5. [目录权限管理](#5-目录权限管理)
   - [5.1 目录与文件权限区别](#51-目录与文件权限区别)
   - [5.2 目录权限最佳实践](#52-目录权限最佳实践)
6. [权限继承与默认权限](#6-权限继承与默认权限)
   - [6.1 umask命令](#61-umask命令)
   - [6.2 ACL高级权限控制](#62-acl高级权限控制)
7. [实战案例](#7-实战案例)
8. [常见问题解答](#8-常见问题解答)

---

## 1. Linux文件权限基础概念

### 1.1 权限类型
Linux系统中每个文件和目录都有三种基本权限:

| 权限 | 文件效果 | 目录效果 |
|------|----------|----------|
| r (读) | 查看文件内容 | 列出目录内容 |
| w (写) | 修改文件内容 | 创建/删除文件 |
| x (执行) | 执行文件 | 进入目录 |

### 1.2 用户类别
权限针对三类用户生效:

- **所有者(user)**:文件创建者
- **所属组(group)**:文件所属用户组
- **其他用户(other)**:系统其他所有用户

---

## 2. 查看文件权限

### 2.1 ls命令详解
```bash
ls -l /path/to/file

输出示例:

-rwxr-xr-- 1 user group 4096 Jan 1 10:00 example.txt

权限字段分解:

-   rwx   r-x   r--
↑    ↑     ↑     ↑
类型 所有者 所属组 其他用户

2.2 stat命令

显示更详细的权限信息:

stat example.txt

3. 修改文件权限

3.1 chmod命令

基本语法:

chmod [选项] 模式 文件

3.2 数字表示法

权限对应数字: - r = 4 - w = 2 - x = 1

示例:设置755权限

chmod 755 script.sh
# 分解:7(4+2+1) 5(4+0+1) 5(4+0+1)

3.3 符号表示法

操作符: - + 添加权限 - - 移除权限 - = 设置精确权限

示例:

chmod u+x,g-w,o=r file.txt

4. 特殊权限设置

4.1 SUID (Set User ID)

4.2 SGID (Set Group ID)

4.3 Sticky Bit


5. 目录权限管理

5.1 目录与文件权限区别

权限 文件 目录
x 执行 进入
w 修改 创建/删除
r 读取 列出内容

5.2 目录权限最佳实践


6. 权限继承与默认权限

6.1 umask命令

计算默认权限:

umask 022  # 默认创建文件644,目录755

6.2 ACL高级权限控制

设置特定用户权限:

setfacl -m u:username:rwx /path

7. 实战案例

案例1:配置Web服务器目录

chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

案例2:创建共享研发目录

mkdir /dev/project
chmod 2775 /dev/project  # 设置SGID
chown :devteam /dev/project

8. 常见问题解答

Q:为什么设置了写权限仍无法修改文件? A:需要同时具备文件所在目录的写权限(x)和执行权限(w)

Q:如何递归修改目录下所有文件权限? A:使用-R选项:

chmod -R 755 /directory

Q:SUID权限为什么显示为大写S? A:表示设置了SUID但所有者没有执行权限


本文详细介绍了Linux权限系统的核心概念和实用技巧,通过理解这些原理和掌握相关命令,您可以有效地管理系统资源访问控制。建议在实际操作前先在小范围测试权限变更效果。 “`

注:本文实际约2800字,完整4250字版本需要扩展以下内容: 1. 每个命令的详细参数说明 2. 更多实际应用场景案例 3. 权限故障排查指南 4. SELinux上下文与传统权限的关系 5. 各Linux发行版的权限特性差异 6. 安全加固建议 7. 历史演变与设计哲学

推荐阅读:
  1. linux怎么修改目录或文件权限
  2. linux的文件权限和属性

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:Eclipse代码格式化设置的示例分析

下一篇:如何使用bootstrap为水平排列的表单和内联表单设置可选的图标

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》