在 vsftpd 上创建 ftp 管理员账户的最佳实践

在 vsftpd 上创建 ftp 管理员账户的最佳实践

背景:我的经理希望我为我们的 FTP 服务器创建一个管理帐户。通过 ftp 登录后,它应立即显示用户的所有主目录,并能够以任何可能的方式修改任何目录或文件。

最好的解决方法是什么?我计划将此 ftp 管理员 chroot 到 /home,但我不知道如何正确处理权限。也许可以创建一个名为 ftp_admins 的组,然后 chgrp /home 文件夹?但这样不会影响用户访问他们的文件夹吗?

任何帮助都将受到赞赏。

答案1

这是一件非常非常尖锐的事情,你应该告诉你的经理,互联网是这么认为的。

实现这一目标的最简单方法是从头开始。

创建一个目录/ftphome/或类似的东西。将该目录的所有权分配给经理,chown boss.boss /ftphome/在该目录下创建用户目录,并分配所有权username.boss以将组所有权授予老板组。

然后将 vsftpd 中的 umask 设置为007确保所有新文件都创建 770(这是一个掩码......),授予“boss”组中的任何人读/写/执行权限

答案2

将它们放在一个公共组中的计划可能是最好的。大多数情况下,用户不需要检查其主目录下的文件和目录的组成员身份,因此这不会造成干扰。

可能存在问题的一件事是,新目录没有适当的权限,无法使上述管理员用户访问文件。您必须检测这些目录的创建并修改其权限,或者您必须让 cron 定期执行修改权限的脚本。

另一个可能存在的问题是,由于这些文件归相关用户所有,因此他们可以自行修改权限,从而使管理员用户无法访问这些文件。

答案3

最终放弃了 vsftpd,因为它无论如何都不支持虚拟用户的虚拟配额。使用 pure-ftpd 解决了我所有的问题,它附带一个 pure-uploadscript 工具,该工具将在每个上传的文件上运行一个脚本。我当前的脚本将每个文件更改为由 ftpadmin 用户拥有。

相关内容