温馨提示×

Linux SFTP如何修改权限

小樊
36
2026-08-15 19:10:27
栏目: 智能运维

在 Linux 下通过 SFTP 修改文件/目录权限,常见做法如下(含注意事项):


一、使用 SFTP 客户端内建命令(适合临时修改)

连接到服务器后,在 sftp> 提示符下:

sftp> chmod 755 test.txt
sftp> chmod 644 file.txt

对目录递归修改(部分客户端支持)

sftp> chmod -R 755 dir/

⚠️ 注意

  • -R 并非所有 sftp 客户端都支持(OpenSSH 的 sftp 支持)
  • 如果失败,建议用 SSH 登录修改

二、使用 SSH 登录后修改(最推荐)

如果 你拥有 SSH 权限,这是最可靠的方法。

ssh user@server_ip
chmod 755 /path/to/file
chmod -R 755 /path/to/dir

三、SFTP 相关权限说明

1️⃣ 文件权限

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

常见权限示例:

权限 含义
644 文件:rw-r–r–
755 文件/目录:rwxr-xr-x
600 仅属主可读写
777 全部读写执行(不安全)

2️⃣ 目录 vs 文件

  • 目录:通常需要 x 权限才能进入
  • 网站目录常见:
chmod 755 /var/www/html

四、同时修改属主(owner)

如果你是 root:

chown user:user file
chown -R www-data:www-data /var/www

五、常见 SFTP 权限问题排查

❌ 无法修改权限的可能原因

  1. SFTP 用户无权限
    • 不是 root
    • 文件属主不是当前用户
  2. 被 chroot 限制
    • 某些 SFTP 配置限制了权限修改
  3. 挂载为只读文件系统

检查挂载状态:

mount | grep " / "

六、SSH + SFTP 最小权限推荐配置

网站目录

chown -R www-data:www-data /var/www
chmod -R 755 /var/www

用户目录

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

七、总结

能 SSH → 用 chmod(最稳)
只能 SFTP → 用 sftp 内建 chmod
❌ 不建议直接用 777


如果你愿意,可以告诉我:

  • 使用 OpenSSH / vsftpd / proftpd
  • 服务器还是虚拟主机
  • 报错的 具体提示

我可以帮你更精确定位问题。

0