插件窝 干货文章 linux修改文件权限命令是什么

linux修改文件权限命令是什么

权限 所有者 chmod 文件 553    来源:    2025-04-12

在 Linux 中修改文件权限的命令是 chmod(Change Mode)。以下是详细用法和示例:


1. 基本语法

chmod [选项] 权限模式 文件/目录

2. 权限模式表示方法

方法一:数字模式(常用)

权限用三位八进制数表示,分别对应 所有者(u)所属组(g)其他用户(o) 的权限: - 4 = 读(r) - 2 = 写(w) - 1 = 执行(x)

示例:

chmod 755 file.txt
  • 解释:7(4+2+1)=所有者有rwx权限,5(4+1)=组和其他用户有r-x权限。

方法二:符号模式

通过 u/g/o/a(用户/组/其他/所有)和 +/-/=(添加/删除/设置)操作:

chmod u+x script.sh    # 给所有者添加执行权限
chmod go-w file.txt    # 移除组和其他用户的写权限
chmod a=rw file.txt    # 设置所有用户为读写权限

3. 常用选项

  • -R:递归修改目录及其子目录下的所有文件权限
    bash chmod -R 755 /path/to/dir
  • --reference:参考另一个文件的权限
    bash chmod --reference=source.txt target.txt

4. 查看当前权限

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

ls -l file.txt
# 输出示例:-rwxr-xr-x 1 user group 0 Jan 1 10:00 file.txt
  • 第一列如 -rwxr-xr-x 表示权限:
    rwx(所有者) r-x(组) r-x(其他用户)。

5. 特殊权限(扩展)

  • SUID(4):以文件所有者身份运行
    bash chmod 4755 executable
  • SGID(2):继承目录的组权限
    bash chmod 2775 shared_dir
  • Sticky Bit(1):仅允许所有者删除文件(如/tmp)
    bash chmod 1777 /tmp

注意事项

  1. 修改权限需要当前用户有足够的权限(如 root 或文件所有者)。
  2. 谨慎使用 777 权限(完全开放),可能引发安全问题。

如果有具体场景需求(如脚本权限、目录共享等),可以进一步说明!