Linux文件权限755、644含义,chmod修改权限

前言

部署网站时常遇到 Nginx 报 403、PHP 无法写入上传目录,根子多半是文件/目录权限不对。理解 Linux 三组身份(属主、属组、其他)和 rwx 三位数字,再用 chmod/chown 调整,问题基本都能解决。本篇讲清 755、644 等常用权限数字的含义和修改方法。

一、先看权限:ls -l

ls -l index.php
# 输出示例:-rw-r--r-- 1 www www 1234 Oct 22 07:20 index.php

第一位 - 是文件类型(d 目录、l 软链接);后面9位分三组:

分组 含义 对应数字位
前三位 文件属主 user 第1位
中间三位 文件属组 group 第2位
后三位 其他用户 other 第3位

二、rwx 与数字对应关系

  • r 读 = 4
  • w 写 = 2
  • x 执行 = 1
  • - 无权限 = 0

把每组数字相加得到该组权限:

  • rwx = 4+2+1 = 7
  • rw- = 4+2+0 = 6
  • r-x = 4+0+1 = 5
  • r-- = 4+0+0 = 4

三、常用权限数字含义

  • 644 文件:属主读写,属组和其他只读。普通网页文件、配置文件标准权限。
  • 755 目录 / 可执行脚本:属主读写执行,属组和其他读+执行。目录必须有 x 才能进入,脚本必须有 x 才能执行。
  • 777 所有人全权:方便但不安全,仅临时调试用,网站目录绝不要长期开放 777。
  • 600 私密文件:只有属主能读写,适合存放密钥、配置里的密码文件。

目录规范建议:目录 755,普通文件 644,可执行脚本 755。

四、chmod 修改权限

# 给单个文件设644
chmod 644 index.php
# 给目录设755
chmod 755 /var/www/html
# 递归修改目录及其下所有文件权限(注意目录和文件权限要分开处理)
chmod -R 755 /var/www/html

符号写法(叠加/去除):

# 给属主加执行权限
chmod u+x script.sh
# 给组和其他去除写权限
chmod go-w index.php
# 属组可写
chmod g+w /data

五、chown 属主属组

权限对了但属主不对,PHP 进程仍可能写不进去:

# 修改属主为 www
chown www index.php
# 同时改属主和属组
chown www:www /var/www/html
# 递归修改
chown -R www:www /var/www/html

六、常见坑

  1. 目录没加 x 权限:目录权限 644 会导致无法 cd 进入和列目录,网页报 403;
  2. 把文件也设成 755/777:普通文件不需要执行位,777 会放大安全风险;
  3. 递归时文件目录一刀切:用 find 分开处理目录和文件,见下方命令;
  4. 只改权限不改属主:Nginx/PHP-FPM 以 www 用户运行,文件属主是 root 时仍读不到;
  5. SELinux 拦截:CentOS 上权限看似正确仍 403/500,要检查 SELinux 上下文。

目录与文件分开递归:

# 目录全部755
find /var/www/html -type d -exec chmod 755 {} \;
# 文件全部644
find /var/www/html -type f -exec chmod 644 {} \;

总结

r=4 w=2 x=1,文件常用 644、目录常用 755;chmod 改权限、chown 改属主属组;递归时目录和文件权限分开设置,网站目录不要长期用 777。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-22 07:22 

Linux 文件权限详解

Linux 文件权限详解

Linux 权限是基础,搞不懂经常出问题。

1. 查看权限

ls -l

输出:

-rw-r--r-- 1 root root 1000 Oct 8 10:00 test.txt

2. 权限含义

第一位:文件类型

    • 普通文件
  • d 目录
  • l 软链接

后面9位:分3组

  • 第1组:所有者权限
  • 第2组:所属组权限
  • 第3组:其他人权限

3个字母:

  • r 读(4)
  • w 写(2)
  • x 执行(1)

比如 rw-r--r--:

  • 所有者:读写(6)
  • 组:只读(4)
  • 其他人:只读(4)

3. 修改权限 chmod

数字方式:

# 所有者读写执行,组读执行,其他人读执行
chmod 755 test.sh

# 所有人只读
chmod 444 test.txt

字母方式:

# 给所有者加执行权限
chmod u+x test.sh

# 给组加写权限
chmod g+w test.txt

# 去掉其他人的读权限
chmod o-r test.txt

4. 修改所有者 chown

# 修改所有者
chown www:www test.txt

# 递归修改目录
chown -R www:www /www/wwwroot

5. 常用权限

  • 目录:755(所有者读写执行,其他人读执行)
  • 普通文件:644(所有者读写,其他人只读)
  • 脚本文件:755

6. 常见问题

1)网站打不开:

  • 检查目录权限是不是 755
  • 检查文件权限是不是 644
  • 检查所有者是不是 www

2)上传不了文件:

  • 检查目录有没有写权限

3)脚本执行不了:

  • 检查有没有执行权限

总结

Linux 文件权限要点:

  • r=4, w=2, x=1
  • chmod 修改权限
  • chown 修改所有者
  • 目录 755,文件 644
  • 权限不对经常出问题

做运维,权限一定要搞懂。


emer 发布于  2026-10-8 07:26 

Linux文件权限755、644含义,chmod修改权限

前言

Linux 文件权限是新手最头疼的东西之一,经常遇到 403 权限不足的报错。755、644 这些数字到底是什么意思?怎么改?本文一次讲清楚。

权限基础

三种身份

Linux 把用户分三类:

  • 文件所有者(u):文件的主人
  • 同组用户(g):和主人在同一个组的人
  • 其他用户(o):所有人

三种权限

每种身份有三种权限:

  • 读(r):4
  • 写(w):2
  • 执行(x):1

加起来就是权限数字。

755、644 是什么意思

755

7 = rwx(读+写+执行)= 4+2+1
5 = r-x(读+执行)= 4+1
5 = r-x(读+执行)= 4+1

合起来就是:所有者能读写执行,同组和其他用户只能读和执行。

常用于: 目录、可执行脚本

644

6 = rw-(读+写)= 4+2
4 = r--(只读)= 4
4 = r--(只读)= 4

合起来就是:所有者能读写,其他人只能读。

常用于: 普通文件、网页

常用权限速查表

数字 含义 用途
755 rwxr-xr-x 目录、脚本
644 rw-r--r-- 普通文件、网页
700 rwx------ 私人目录
600 rw------- 私人文件(比如密钥)
777 rwxrwxrwx 所有人都能读写执行(不推荐)

chmod 修改权限

数字方式(最常用)

chmod 755 文件名

比如把 index.php 改成 644:

chmod 644 index.php

字母方式

chmod u+x 文件名

意思是给所有者(u)加执行权限(x)。

常用的:

  • u+x:所有者加执行权限
  • u-w:所有者去掉写权限
  • g+w:同组加写权限
  • o+r:其他用户加读权限
  • a+x:所有人加执行权限

递归修改目录下所有文件

加 -R 参数:

chmod -R 755 /var/www/html

警告: 递归改权限要小心,别把系统目录改坏了。

chown 修改所有者

有时候不是权限数字的问题,是文件属主不对。

查看文件属主

ls -l 文件名

输出第一列后面就是属主:

-rw-r--r-- 1 www www 1234 Oct  6 10:00 index.php

前面的 www 是用户,后面的 www 是组。

修改文件属主

chown 用户:组 文件名

比如把文件改成 www 用户:

chown www:www index.php

递归修改目录属主

chown -R www:www /var/www/html

常见坑

坑1:网站 403 权限不足

网页打不开,报 403 Forbidden。

原因: 文件权限不对,或者属主不对。

解决:

  1. 文件改成 644:chmod 644 文件
  2. 目录改成 755:chmod 755 目录
  3. 属主改成运行用户:chown www:www 文件

坑2:777 万能解决?

一遇到权限问题就 chmod 777。

原因: 图省事,但不安全。

解决: 777 意味着所有人都能读写执行,恶意文件可以直接往你的目录里写木马。生产环境绝对不要用 777。

坑3:改了权限还是不行

执行了 chmod 还是报权限不足。

原因: SELinux 拦截了。

解决: 检查 SELinux:

getenforce

如果是 Enforcing,临时关掉试试:

setenforce 0

坑4:上传文件没有执行权限

写了个脚本想运行,报 Permission denied。

原因: 文件没有执行权限。

解决:

chmod +x 脚本.sh

总结

命令 作用
chmod 755 文件名 改成 755 权限
chmod 644 文件名 改成 644 权限
chmod -R 755 目录 递归改目录权限
chown www:www 文件名 改文件属主
chown -R www:www 目录 递归改目录属主

记住两个常用的:目录 755,文件 644,基本就够用了。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 07:45 

Linux文件权限详解,chmod和chown命令使用

前言

Nginx 报 403 Forbidden?文件改完了不生效?权限不对导致各种奇怪问题?Linux 的文件权限是新手最容易搞混的地方。什么是 rwx?755 和 644 有什么区别?chown 和 chmod 分别是干嘛的?本文就把 Linux 文件权限讲明白,让你一看就懂。

查看文件权限

用 ls -l 查看文件详细信息:

ls -l /var/www/html/index.html

输出示例:

-rw-r--r-- 1 nginx nginx 1234 Oct  5 10:30 /var/www/html/index.html

权限字符串详解

最开头的 -rw-r--r-- 就是权限,拆解一下:

-  rw-  r--  r--
①  ②    ③    ④
  • ① 文件类型: - 是普通文件,d 是目录,l 是链接
  • ② 所有者权限(user): rw- = 可读可写,不可执行
  • ③ 所属组权限(group): r-- = 只读
  • ④ 其他人权限(other): r-- = 只读

rwx 含义

字符 含义 数字
r 读(read) 4
w 写(write) 2
x 执行(execute) 1

所以:

  • rwx = 4+2+1 = 7
  • rw- = 4+2+0 = 6
  • r-- = 4+0+0 = 4
  • r-x = 4+0+1 = 5

常用权限数字

数字 权限 说明
755 rwxr-xr-x 所有者可读写执行,其他人可读执行(常用目录、脚本)
644 rw-r--r-- 所有者可读写,其他人只读(常用文件)
700 rwx------ 只有所有者能读写执行(私密文件)
600 rw------- 只有所有者能读写(私密文件)
777 rwxrwxrwx 所有人都能读写执行(不安全,尽量别用)

记住两个最常用的:

  • 目录用 755
  • 文件用 644

chmod 修改权限

数字方式

chmod 755 /var/www/html

把目录权限改成 755。

chmod 644 /var/www/html/index.html

把文件权限改成 644。

递归修改

chmod -R 755 /var/www/html/

把目录下所有文件和子目录都改成 755。

注意: 递归修改的时候要小心,一般文件应该是 644,目录是 755。如果全部改成 755,文件就能执行了,不安全。

字母方式

chmod u+x script.sh

给所有者加执行权限。

chmod g+w file.txt

给所属组加写权限。

chmod o-r file.txt

去掉其他人的读权限。

  • u:所有者
  • g:所属组
  • o:其他人
  • +:加权限
  • -:减权限

chown 修改所有者

修改文件所有者

chown nginx /var/www/html/index.html

把文件所有者改成 nginx。

修改所有者和所属组

chown nginx:nginx /var/www/html/index.html

所有者改成 nginx,所属组也改成 nginx。

递归修改

chown -R nginx:nginx /var/www/html/

把整个目录的所有者和所属组都改成 nginx。

实际应用场景

场景1:Nginx 报 403

Nginx 访问网站报 403 Forbidden,一般是权限不对。

ls -l /var/www/html/index.html

看所有者和权限。如果文件是 root 的,Nginx 进程读不到,就会 403。

chown nginx:nginx /var/www/html/index.html
chmod 644 /var/www/html/index.html

场景2:脚本不能执行

写了个 shell 脚本,运行提示 Permission denied。

chmod +x script.sh

加执行权限就能跑了。

场景3:目录权限不对

网站目录权限不对,上传的图片打不开。

chmod -R 755 /var/www/html/
chown -R nginx:nginx /var/www/html/

常见坑

坑1:chmod 777 解决一切

很多人一遇到权限问题就 chmod 777,这是最懒也最不安全的做法。777 意味着所有人都能读写执行,黑客上传个木马就直接跑了。

正确做法: 文件用 644,目录用 755,所有者设成运行服务的用户。

坑2:只改权限不改所有者

权限对了,但所有者不对,服务还是读不到文件。

解决: 权限和所有者都要对。比如 Nginx 运行用户是 nginx,文件所有者也要是 nginx。

坑3:递归 chmod 把文件也改成 755

chmod -R 755 把所有文件都改成可执行了,不安全。

正确做法: 目录用 755,文件用 644。可以用 find 分开改:

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

坑4:改了权限不生效

改了权限但还是不对,看看是不是有 SELinux 在捣乱。

解决: 先临时关掉 SELinux 测试:

setenforce 0

如果关了就好了,说明是 SELinux 的问题。

总结

Linux 文件权限核心:

  1. rwx = 4+2+1
  2. 目录用 755,文件用 644
  3. chmod 改权限,chown 改所有者
  4. 不要随便用 777

记住两个最常用的:目录 755,文件 644。遇到权限问题先 ls -l 看看,再改,别上来就 777。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-5 07:48 

Linux 文件权限详解

Linux 文件权限详解

Linux 权限是服务器安全的基础,搞懂权限,服务器才不会乱。

1. 查看权限

用 ls -l 查看文件权限:

ls -l file.txt
-rw-r--r-- 1 user group 1024 Oct 4 10:00 file.txt

开头10个字符就是权限:

  • 第1个:文件类型(- 普通文件,d 目录)
  • 第2-4个:所有者权限
  • 第5-7个:所属组权限
  • 第8-10个:其他人权限

2. 三种权限

  • r(读)= 4
  • w(写)= 2
  • x(执行)= 1

数字加起来就是权限值:

  • 7 = 4+2+1 = rwx
  • 6 = 4+2 = rw-
  • 5 = 4+1 = r-x
  • 4 = 4 = r--

3. 修改权限 chmod

# 给所有者加执行权限
chmod u+x file.txt

# 给所有人只读权限
chmod 444 file.txt

# 所有者读写执行,组和其他人只读
chmod 744 file.txt

4. 修改所有者 chown

# 修改文件所有者
chown user:group file.txt

# 递归修改目录
chown -R user:group /data/www

5. 常用权限

  • 普通文件:644(所有者读写,其他人只读)
  • 目录:755(所有者读写执行,其他人读执行)
  • 脚本文件:755(所有者能执行)

6. 安全建议

  • 网站目录不要用 root 所有者
  • 上传目录禁止执行权限
  • 配置文件权限设为 600,只有所有者能读

总结

Linux 权限核心就是三组(所有者、组、其他人)× 三种(读、写、执行),用数字表示就是 r=4、w=2、x=1。搞懂这个,日常权限管理基本够用了。


emer 发布于  2026-10-4 10:45 
'); })();