跳到主要内容

权限管理

本文介绍如何使用 XTerminal 查看和修改远程文件的权限。

查看文件权限

文件列表查看

在文件列表视图中,权限列显示文件的权限信息:

文件列表权限列

权限以 rwxrwxrwx 格式显示,分别对应:

  • 前三位:所有者权限
  • 中三位:用户组权限
  • 后三位:其他用户权限

悬浮提示查看

将鼠标悬停在文件上,可以在提示框中查看权限信息。

权限说明

权限类型

符号数值含义
r4读取(Read)- 可以查看文件内容或列出目录
w2写入(Write)- 可以修改文件或在目录中创建/删除
x1执行(Execute)- 可以执行文件或进入目录
-0无权限

权限组

组别说明
所有者(Owner)文件的创建者或所有者
用户组(Group)文件所属用户组的成员
其他用户(Others)系统上的其他所有用户

权限示例

权限数值含义
rwxr-xr-x755所有者可读写执行,其他人可读执行
rw-r--r--644所有者可读写,其他人只读
rwx------700仅所有者可读写执行
rw-------600仅所有者可读写
rwxrwxrwx777所有人可读写执行(不推荐)

修改文件权限

打开权限修改对话框

  1. 在文件浏览器中选中文件或目录
  2. 右键点击选择修改权限
  3. 打开权限修改对话框

修改文件权限对话框

设置权限

对话框中可以分别设置三组权限:

所有者(Owner):

  • 读取(R)
  • 写入(W)
  • 执行(X)

用户组(Group):

  • 读取(R)
  • 写入(W)
  • 执行(X)

公共权限(Others):

  • 读取(R)
  • 写入(W)
  • 执行(X)

勾选或取消勾选相应的复选框来设置权限。

sudo 选项

如果当前用户没有足够权限修改文件,可以启用 sudo 选项:

  1. 勾选 sudo 复选框
  2. 执行时会使用 sudo 命令
  3. 可能需要输入密码

递归处理

对于目录,可以选择是否递归修改子文件和子目录的权限:

  1. 勾选递归处理复选框
  2. 权限修改将应用到目录下所有内容
  3. 相当于 chmod -R 命令

预览执行命令

对话框底部的预备执行命令区域显示将要执行的 chmod 命令:

chmod 755 /path/to/file

或启用递归时:

chmod -R 755 /path/to/directory

执行修改

  1. 确认权限设置正确
  2. 点击在当前终端执行按钮
  3. 命令将在当前 SSH 终端中执行
  4. 查看执行结果确认修改成功

批量修改权限

支持同时修改多个文件的权限:

  1. 在文件浏览器中选中多个文件
  2. 右键选择修改权限
  3. 设置权限后将应用到所有选中文件

常用权限设置

可执行脚本

权限:755 (rwxr-xr-x)

所有者可读写执行,其他用户可读和执行。适用于 Shell 脚本、程序文件等。

配置文件

权限:644 (rw-r--r--)

所有者可读写,其他用户只读。适用于大多数配置文件。

私密文件

权限:600 (rw-------)

仅所有者可读写,其他用户无任何权限。适用于密钥、密码等敏感文件。

SSH 密钥

私钥:600 (rw-------)
公钥:644 (rw-r--r--)

SSH 私钥必须设置为 600,否则 SSH 会拒绝使用。

Web 目录

目录:755 (rwxr-xr-x)
文件:644 (rw-r--r--)

Web 服务器目录的常见权限配置。

目录权限说明

目录的权限含义与文件略有不同:

权限目录含义
r可以列出目录内容(ls)
w可以在目录中创建、删除、重命名文件
x可以进入目录(cd),访问目录内的文件

目录通常需要执行(x)权限才能被访问。

特殊权限

除了基本的 rwx 权限,Linux 还有特殊权限位:

权限数值说明
SUID4000执行时以文件所有者身份运行
SGID2000执行时以文件所属组身份运行
Sticky1000目录中只有所有者可删除文件

这些特殊权限通常在系统管理中使用,普通场景较少需要。

权限数值计算

权限可以用数字表示,计算方法是将各权限值相加:

r(4) + w(2) + x(1) = 7  # 读写执行
r(4) + w(2) + 0 = 6 # 读写
r(4) + 0 + x(1) = 5 # 读执行
r(4) + 0 + 0 = 4 # 只读

三组权限组合成三位数:

所有者:7  用户组:5  其他:5  → 755
所有者:6 用户组:4 其他:4 → 644

常见问题

权限拒绝(Permission denied)

  • 检查当前用户对文件的权限
  • 尝试使用 sudo 选项
  • 确认文件所有者和所属组

修改权限失败

  • 确认是否有权限修改该文件
  • 检查文件系统是否只读
  • 尝试使用 sudo 执行

SSH 密钥权限错误

SSH 连接时提示密钥权限过于开放:

Permissions are too open for /path/to/key

解决方法:将私钥权限设置为 600

chmod 600 ~/.ssh/id_rsa

下一步