/var/www/html 归 ftp 用户所有吗?

/var/www/html 归 ftp 用户所有吗?

我正在尝试设置一个带有虚拟用户的 vsftp 服务器,据我所知,这些虚拟用户只是用户 ftp 的“子账户”,那么虚拟用户上传的文件将归用户 ftp 所有。(如果我错了,请纠正我)

这些虚拟用户的目的只是上传和修改网页,那么目录(比如说 /var/www/html)是否应该归用户 ftp 所有,然后 chroot 此目录中的虚拟用户,或者这是否意味着任何安全风险?这些虚拟用户是否可以使用 rsa 密钥而不是密码登录,还是只有 ssh 和真实用户才可以这样做?

答案1

您在回答这个问题时遇到困难的原因在于您没有充分考虑每个帐户的预期用途。您需要问自己的问题是:

  • 本系统内所有虚拟用户是否可以相互访问所有管理对象?

我的意思是,虚拟用户 A 是否具有与虚拟用户 B 相同的访问要求

如果答案是肯定的,那么你的要求是提供独特的验证多个账户,但所有用户都拥有相同的授权关系。

如果确实如此,那么您所做的就是有效的。

如果答案是否定的,这意味着你想提供独特的验证 独特的授权对于上述账户。

这种形式的设计从根本上是有缺陷的,因为系统级授权不可能识别一个虚拟用户而另一个虚拟用户。

答案2

VSFTP 提供了 chroot 功能。您的虚拟用户有一个文档根目录,可以使用以下命令将其 chroot 到该目录:

write_enable=YES
chroot_local_user=YES
local_root=/var/www/html/$USER
user_sub_token=$USER

就所有权而言,只需确保 FTP 用户可以操作每个主目录中的文件即可。/var/www/html不需要归它所有(尽管它需要对其具有执行权限)。如果您想使用另一个帐户作为所有者,也可以使用 FTP 帐户的组。也许您可以在的子目录上执行类似www-data:ftpftp:www-data(我认为这是最常见的)的操作?/var/www/html

rwxr-x--- ftp www-data /var/www/html
rwxr-x--- ftp www-data /var/www/html/myvirtualuser
rwxrwx--- ftp www-data /var/www/html/myvirtualuser/someuploaddirectory

UNIX 权限是一种非常强大的机制。只要你花时间思考,就不会有任何安全风险。谁需要什么

编辑有关 RSA 密钥:RSA 密钥用于 SSH 连接,而不是 FTP 连接。对于 FTP,无密码认证通常意味着匿名连接,用于公共 FTP 服务器,例如ftp.kernel.org。不过,您可以在 VSFTP 连接上设置 SSL 加密:请参阅http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFTP)

相关内容