我的 sftp 被监禁的用户无法查看 ChrootDirectory 下的目录

我的 sftp 被监禁的用户无法查看 ChrootDirectory 下的目录

我正在尝试监禁用户。我有以下目录:

var/www (root:www-data, 755)         
var/www/web1 (webmaster:www-data, 755)         
var/www/web2 (webmaster:www-data, 755)         

在我的 ssh_config 中我得到了:

Subsystem sftp internal-sftp

Match User webmaster
  ChrootDirectory /var/www
  ForceCommand internal-sftp

用户可以使用凭证进入系统。此外,用户可以导航到 var/www,但无法访问 web1 或 web2。我不知道为什么,因为“webmaster”是 web1 和 web2 的所有者。

非常感谢。我认为权限设置正确,但我不是 Linux 专家。

答案1

我在您的配置中看到的问题是,您想要监禁用户的树中的所有文件夹都必须由 (用户和组) 拥有root

对于你来说,它应该是:

 /var/www (root:root, 755)

答案2

这是我的配置,希望有帮助。

/var/www (root:root, 755)
/var/www/user1 (user1:sftpusers, 755)
/var/www/user2 (user2:sftpusers, 755)

我的 sshd_config:

Subsystem sftp internal-sftp

Match Group sftpusers
  ChrootDirectory /var/www/%u
  ForceCommand internal-sftp

相关内容