插件窝 干货文章 Linux文件权限:怎样理解读写执行权限

Linux文件权限:怎样理解读写执行权限

权限 文件 目录 执行 209    来源:    2025-05-08

Linux文件权限详解:读写执行权限的理解

基本权限概念

Linux系统中,每个文件和目录都有三种基本权限: - 读权限(r):查看文件内容或列出目录内容 - 写权限(w):修改文件内容或在目录中创建/删除文件 - 执行权限(x):运行文件或进入目录

权限表示方式

权限可以用两种方式表示:

1. 字母表示法

r-- 只读
-w- 只写
--x 只执行
rw- 读写
r-x 读和执行
-wx 写和执行
rwx 读、写和执行

2. 数字表示法

0 (000) 无权限
1 (001) 执行
2 (010) 写
3 (011) 写和执行
4 (100) 读
5 (101) 读和执行
6 (110) 读和写
7 (111) 读、写和执行

权限的三组分配

每个文件/目录有三组权限,分别对应: 1. 所有者(user):文件/目录的创建者 2. 所属组(group):文件/目录所属的用户组 3. 其他用户(other):系统上的其他所有用户

查看权限

使用ls -l命令查看文件权限:

-rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt
drwxr-xr-x 2 user group 4096 Jan 1 10:00 directory/

第一个字符表示文件类型(-为普通文件,d为目录),后面9个字符表示三组权限。

权限对文件和目录的不同影响

权限 对文件的影响 对目录的影响
读(r) 查看文件内容 列出目录内容(需要同时有执行权限)
写(w) 修改文件内容 在目录中创建/删除文件(需要同时有执行权限)
执行(x) 作为程序执行 进入目录(访问目录中的内容)

修改权限

使用chmod命令

  1. 字母模式

    chmod u+x file.txt      # 给所有者添加执行权限
    chmod g-w file.txt      # 从组中移除写权限
    chmod o=rw file.txt     # 设置其他用户的权限为读写
    chmod a+x file.txt      # 给所有用户添加执行权限
    
  2. 数字模式

    chmod 755 file.txt      # 所有者rwx,组和其他r-x
    chmod 644 file.txt      # 所有者rw-,组和其他r--
    

修改所有者和组

chown user:group file.txt  # 修改所有者和组
chown user file.txt        # 只修改所有者
chgrp group file.txt       # 只修改组

特殊权限

除了基本权限外,还有三个特殊权限位: 1. SUID (Set User ID):以文件所有者的身份执行 2. SGID (Set Group ID):以文件所属组的身份执行(对目录:新文件继承目录的组) 3. Sticky Bit:只有文件所有者才能删除/重命名(常用于/tmp目录)

设置特殊权限:

chmod u+s file    # 设置SUID
chmod g+s dir     # 设置SGID
chmod +t dir      # 设置Sticky Bit

权限掩码(umask)

umask决定新建文件和目录的默认权限:

umask           # 查看当前umask
umask 022       # 设置umask为022

计算方式:默认权限(文件666,目录777)减去umask值。

理解Linux文件权限是系统管理的基础,合理设置权限可以确保系统安全和数据保护。