Linux文件权限管理核心是chmod和chown命令。chmod用于修改文件或目录的访问权限,支持符号模式(如u+x)和八进制模式(如755),分别适用于权限的增量调整和整体设置;chown用于更改文件的用户和组所有者,常用于Web服务部署或团队协作中的所有权调整。诊断权限问题时,通过ls -l查看权限、id确认用户身份、检查父目录权限,并结合chmod与chown修复。此外,Linux还提供SUID、SGID、Sticky Bit及ACL等高级权限机制,以支持更精细的访问控制。

在Linux系统里,管理文件和目录的权限,其实就是围绕着两个核心命令展开的:
chmod
chown
chmod
chown
Linux的文件权限管理是个精细活,
chmod
chown
理解 chmod
chmod
符号模式(Symbolic Mode): 这种方式更直观,你可以增减或设置特定的权限。
u
g
o
a
+
-
=
r
w
x
示例:
chmod u+x myscript.sh
chmod go-w mydocument.txt
chmod a=rw- myconfig.conf
chmod -R g+w myproject/
myproject
八进制模式(Octal Mode): 这是一种更紧凑、更常用的方式,通过数字来表示权限。每个权限都有一个对应的数值:
r
w
x
将这三个数值相加,就得到一个数字来代表某类主体的权限。
然后,按“所有者-所属组-其他用户”的顺序排列这三个数字。
示例:
chmod 755 myscript.sh
chmod 644 mydocument.txt
chmod 777 mytempdir/
理解 chown
chown
更改用户所有者:
chown newuser filename
chown alice report.pdf
更改组所有者:
chown :newgroup filename
chgrp newgroup filename
chgrp
chown :group
chown :devteam project_plan.md
chgrp devteam project_plan.md
同时更改用户和组所有者:
chown newuser:newgroup filename
chown bob:webusers index.html
递归更改:
chown -R newuser:newgroup directory/
chown -R www-data:www-data /var/www/html
在Linux权限管理的世界里,
chmod
数字模式(八进制): 我个人觉得,数字模式更像是一种“状态快照”。你用一个三位或四位的八进制数,直接定义了文件所有者、所属组和其他用户的最终权限状态。
rwx
rw-
r-x
r--
chmod [所有者权限][组权限][其他用户权限] 文件名
chmod 755 script.sh
755
644
700
符号模式(Symbolic Mode): 符号模式则更像是一种“操作指令”。它允许你在现有权限的基础上进行增(+)、减(-)或精确设置(=)。
u
g
o
a
+
-
=
r
w
x
chmod [主体][操作][权限] 文件名
chmod u+x script.sh
chmod go-w mydocument.txt
chmod a=rw- myconfig.conf
chmod u+x
644
600
755
chmod u=rwx,go=rx
chmod 755
何时选择哪种方式?
我的经验是,日常工作中,数字模式和符号模式会交替使用。对于像
755
644
文件权限问题在Linux系统里简直是家常便饭,尤其是在部署新应用、配置服务或者团队协作时。那种“Permission denied”的错误信息,相信每个Linux用户都遇到过。诊断和修复这类问题,其实有一套相对固定的思路。
诊断步骤:
错误信息分析:
bash: ./script.sh: Permission denied
script.sh
cat /var/log/nginx/access.log: Permission denied
检查文件/目录的权限和所有者:ls -l
ls -l /path/to/problem/file_or_directory
-rwxr-xr-x
d
-
l
-rw-r--r--
drwxr-xr-x
www-data
检查当前用户的身份:id
whoami
whoami
id
640
rw-r-----
检查父目录权限:
x
cd
r
w
/var/www/html/index.html
644
/var/www/html
x
index.html
尝试以不同用户身份访问:sudo -u
www-data
sudo -u www-data cat /path/to/file
修复步骤:
调整文件/目录权限:chmod
chmod
Permission denied
chmod u+x script.sh
chmod 755 script.sh
chmod go+r filename
chmod 644 filename
cd
ls
chmod go+rx directory/
chmod 755 directory/
chmod g+w upload_directory/
chmod 775 upload_directory/
777
调整文件/目录所有者或所属组:chown
chgrp
root
www-data
chown www-data:www-data /var/www/html/index.html
chown -R www-data:www-data /var/www/html/
chown :devteam project_file.txt
chmod g+w project_file.txt
检查其他高级权限或安全机制(可选):
getfacl filename
setfacl
/var/log/audit/audit.log
dmesg
chmod
chown
解决权限问题,很多时候就像侦探破案。从错误信息入手,一步步排查,最终总能找到症结所在。关键是耐心和细致,以及对
ls -l
当我们谈论Linux权限,
rwx
chmod
chown
1. SUID (Set User ID) 和 SGID (Set Group ID)
这两个是文件
以上就是如何在Linux下使用chmod和chown管理权限?文件权限设置的完整教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号