当前位置:首页>Linux>1.5 Linux文件权限怎么配置?

1.5 Linux文件权限怎么配置?

  • 2026-09-15 16:57:01
1.5 Linux文件权限怎么配置?

二、权限管理命令

本章节专为新手优化,从「权限底层认知→命令实操→避坑指南」全流程拆解,每部分都配可直接复制的实操案例,杜绝只讲语法不讲用法。


前置必懂:Linux权限位核心认知(新手第一步)

Linux中所有文件/目录都有一串固定的10位权限字符串,这是所有权限操作的基础,我们以最常见的-rw-r--r--为例,逐位拆解,彻底搞懂每一位的含义。

1. 10位权限位完整拆分

# 标准10位权限结构(无空格,新手别写错)[-] [rw-] [r--] [r--]①   ②    ③    ④
分段
位数
核心含义
详细说明
①
第1位
文件类型
和文件后缀无关,只看这1位
,新手只需记住最常见的7种:- -:普通文件(文本、图片、程序等)- d:目录文件(文件夹)- l:软链接/符号链接(原内容写错为i,此处纠正为标准小写L)- b:块设备文件(硬盘、U盘等存储设备)- c:字符设备文件(键盘、鼠标等输入设备)- s:套接字文件(用于网络通信,存储IP+端口)- p:管道文件(用于进程间数据通信)
②
第2-4位
所有者(u)权限
文件/目录的创建者,对应英文user,缩写u
③
第5-7位
所属组(g)权限
文件/目录归属的用户组,对应英文group,缩写g
④
第8-10位
其他人(o)权限
既不是所有者、也不在所属组里的其他所有用户,对应英文other,缩写o

补充:所有用户统称a(all),用于批量给u+g+o设置权限。

2. 权限位r/w/x的真正含义(新手最容易踩坑的点)

r=读、w=写、x=执行,对文件和对目录的作用完全不同,这是新手改了权限却没用的核心原因:

权限字符
对应数字
对普通文件的作用
对目录(文件夹)的作用
r(读)
4
可以读取文件内容(cat、view、more等)
可以查看目录里的文件列表(ls命令)
w(写)
2
可以修改、删除文件内容(vim、echo重定向等)
可以在目录里新增、删除、重命名文件/子目录
x(执行)
1
可以执行这个文件(脚本、二进制程序)
可以进入这个目录(cd命令),目录必须有x权限才能正常访问

3. 数字权限快速计算(新手秒会)

Linux权限用「4、2、1」三个数字对应r、w、x,每组权限(u/g/o)的数字相加,就能得到最终的权限数字:

  • 单组计算示例:rwx=4+2+1=7;rw-=4+2+0=6;r--=4+0+0=4;r-x=4+0+1=5
  • 完整权限示例:-rw-r--r-- → 所有者6、所属组4、其他人4 → 权限数字644
  • 最常用权限速记:
    • 普通文件默认:644(所有者读写,其他人只读)
    • 目录默认:755(所有者读写执行,其他人读+执行)
    • 最高权限:777(所有人读写执行,新手慎用,有极大安全风险)

1. chmod:修改文件/目录权限

核心作用

修改文件或目录的读、写、执行权限,是Linux权限管理最常用的命令。

语法格式

# 格式1:数字权限模式(新手最常用,简单直接)chmod [可选参数] 权限数字 文件/目录路径# 格式2:符号权限模式(更直观,适合单权限修改)chmod [可选参数] [ugoa][+-=][rwx] 文件/目录路径

必学可选参数

参数
作用
新手高频使用场景
-R
递归修改(目录下所有文件、子目录同步生效)
修改整个文件夹的权限,必加-R
-v
显示修改详情
新手确认权限是否修改成功

新手实操示例(可直接复制执行)

示例1:数字模式修改(最常用)

# 1. 给test.txt文件设置644权限(所有者读写,其他人只读)chmod 644 test.txt# 2. 给script.sh脚本添加执行权限(755=所有者读写执行,其他人读+执行)chmod 755 script.sh# 3. 递归修改mydir目录下所有内容为755权限chmod -R 755 mydir/# 4. 新手别乱用!给文件设置777最高权限chmod 777 test.txt

示例2:符号模式修改(精准改单个权限,不用重新算数字)

# 1. 给所有者(u)添加执行(x)权限chmod u+x test.txt# 2. 给所属组(g)去掉写(w)权限chmod g-w test.txt# 3. 给所有人(a)设置只读(r)权限chmod a=r test.txt# 4. 给所属组(g)和其他人(o)同时添加读+执行权限chmod go+rx test.txt

新手避坑提示

  1. 目录必须加x权限:只给目录r权限,你依然无法cd进入,必须同时给x权限;
  2. 递归修改慎用-R:不要给系统目录(/etc、/usr等)递归改权限,极易导致系统崩溃;
  3. 777权限尽量不用:给文件/目录开777,意味着任何用户都能修改、删除它,有严重的安全隐患。

2. chown:修改文件/目录的所有者、所属组

核心作用

修改文件/目录归哪个用户、哪个用户组所有,只有root管理员能执行修改所有者的操作,普通用户无权限。

语法格式

chown [可选参数] 所有者:所属组 文件/目录路径

必学可选参数

参数
作用
新手高频使用场景
-R
递归修改(目录下所有内容同步生效)
转移整个文件夹的归属权
-v
显示修改详情
确认修改是否成功

新手实操示例(可直接复制执行)

# 1. 同时修改所有者和所属组(最常用):把test.txt的所有者改为user1,所属组改为user1chown user1:user1 test.txt# 2. 只修改所有者:把test.txt的所有者改为rootchown root test.txt# 3. 只修改所属组:把test.txt的所属组改为users组chown :users test.txt# 4. 递归修改mydir目录下所有内容的所有者+所属组为user1chown -R user1:user1 mydir/

新手避坑提示

  1. 必须先确认系统里有对应的用户和组,否则会报错invalid user;
  2. 普通用户无法把自己的文件转给其他用户,只有root能执行chown修改所有者;
  3. 改完归属权后,记得配合chmod调整权限,否则新的所有者可能无法访问文件。

3. chgrp:专门修改文件/目录的所属组

核心作用

仅修改文件/目录的所属组,功能和chown :组名完全一致,日常使用频率低,新手了解即可。

语法格式&实操示例

# 语法格式chgrp [可选参数] 所属组 文件/目录路径# 示例1:把test.txt的所属组改为userschgrp users test.txt# 示例2:递归修改mydir目录下所有内容的所属组为user1chgrp -R user1 mydir/

新手提示:日常修改所属组,直接用chown :组名即可,无需额外记这个命令。


4. umask:权限掩码(控制新建文件/目录的默认权限)

核心作用

控制我们用touch新建文件、mkdir新建目录时,系统自动分配的默认权限,系统默认umask值为0022。

核心原理(新手秒懂版)

Linux给新建文件/目录设置了「基础初始权限」,最终默认权限 = 基础初始权限 - umask值:

类型
基础初始权限
原因
系统默认(umask=0022)最终权限
新建目录(mkdir)
777
目录必须有x权限才能进入,所以初始给满rwx
777 - 022 = 755
新建文件(touch)
666
系统默认不给新建文件执行权限,避免恶意脚本运行
666 - 022 = 644

新手实操示例

1. 查看当前系统的umask值

# 直接执行,默认显示4位数字,第一位是特殊权限位,新手只看后3位即可umask

2. 临时修改umask值(重启终端/服务器后失效,适合临时测试)

# 示例:把umask改为0011,此时新建文件默认权限=666-011=655,新建目录=777-011=766umask 0011# 示例:高安全场景,umask改为0027,新建文件默认640,目录默认750(其他人无任何权限)umask 0027

3. 永久修改umask值(新手推荐)

# 1. 只对当前登录用户生效:编辑用户家目录的.bashrc文件vim ~/.bashrc# 2. 在文件末尾添加一行,比如设置永久umask为0022umask 0022# 3. 保存退出后,让配置立即生效source ~/.bashrc# 4. 对系统所有用户生效(需root权限):编辑/etc/profile文件vim /etc/profile# 同样添加umask 0022,保存后source /etc/profile生效

新手避坑提示

  1. 不要用umask给新建文件默认开执行权限,这是非常危险的操作;
  2. 计算最终权限时,不要直接用减法算奇数位:比如umask=0003,666-003=663,但实际最终权限是664,因为系统不会给文件默认分配执行权限,正确计算方式是「基础权限 & (~umask)」,新手只需记住:文件默认永远不会有x权限即可。

新手入门总结&通用避坑指南

  1. 先认权限位,再改权限:改之前先用ls -l命令查看当前权限,确认要修改的内容;
  2. 所有目录操作,记得加-R递归参数,否则只改目录本身,里面的文件不会生效;
  3. 非必要不使用777权限、不递归修改系统目录权限,极易导致系统故障和安全问题;
  4. 普通用户只能修改自己拥有的文件/目录权限,修改所有者、系统文件必须加sudo切换root权限。

最新文章

随机文章