我的用户无法通过 SFTP 访问目录,尽管它是具有写入权限的组的成员

我的用户无法通过 SFTP 访问目录,尽管它是具有写入权限的组的成员

我之前问过这个问题,我知道其他人也问过,但我仍然很纠结,希望有人能提供缺失的信息来帮助我解决这个问题。我读完了所有我能找到的相关帖子,但似乎我已经按照所有建议做了。我不确定我遗漏了什么。

我在 Ubuntu 12.04 上运行 apache2。我有一组目录(以及其中的文件),它们由用户拥有www-data。该www-data组对我尝试写入的目录和文件具有写权限。

testuser是该组的成员www-data。当我尝试以 身份通过 sftp 进入这些目录中的任何一个时,出现权限错误testuser

如果我将这些目录和文件的所有权更改为testuser,那么我就可以通过 ftp 访问它们。

应如何设置权限,以便组成员可以通过 ftp 进入目录并写入内容?我想创建一个来宾 ftp 帐户并将其添加到组中,但我需要先让它工作testuser

我手动添加了自己www-data /etc/groups。我还重新启动了 Apache,当这不起作用时,从命令行重新启动。我遗漏了什么?

write_enable=YES在我的 中vsftpd.conf chroot_local_user被注释掉了。没有发生 chroot 现象。

答案1

请注意,尽管名称如此,vsftpd 并不是 SFTP 服务器,而是一个普通的 FTP 协议服务器。SFTP 通常由 ssh 守护进程处理。因此,您在 vsftpd 中所做的任何配置更改都不会影响 SFTP 传输。

该文件的所有者为上传者。您可能需要检查 SFTP 客户端的所有权和权限保留选项(在您的情况下为 WinSCP)。

(顺便说一句,我只是将评论重新格式化为答案)。

答案2

就我而言,将目标用户组设置为 ftp 用户的主要用户组很有帮助。

sudo usermod -g <group> <ftp_user>

相关内容