我被要求根据vsftpd包配置一个FTP服务器。服务器运行在我有超级用户特权访问权限的远程计算机上。
由于不熟悉FTP服务器的机制,我试图弄清楚用户ftp帐户是如何配置的。前一位维护者使用shell脚本来配置ftp帐户,该脚本在我们维护的用于跟踪用户帐户和密码的列表上工作。通过阅读脚本,我看到他生成了一个用户名和密码列表,并且实际上在Linux机器上创建了一个用户帐户。这意味着,对于我们在列表中配置的每个用户,adduser命令将添加一个新的用户帐户:
adduser --home /home/ftp --no-create-home $user(但是w/o是一个私有的/home/username目录--使用/home/ftp安装)。
这些用户都可以使用ssh命令登录自己的帐户。这个事实对我来说有点奇怪,因为我认为ftp帐户应该与Ubuntu用户帐户分离。
另一个副作用是,当用户使用web浏览器进行连接时,他将连接到/home/ftp目录。但是,他可以使用"Up to a higher level directory“链接来提升和有效地访问我们所有的系统。
因此,问题是:
vsftpd服务器的方式,我只有超级用户Ubuntu帐户在该机器和所有的ftp帐户是.只有FTP用户帐户?此外,这些ftp帐户应该根据允许访问的方式和内容进行配置。发布于 2012-06-30 02:19:25
显然,之前的管理员做得并不好。
因此,首先,如果在vsftpd.conf中添加以下行,您将在主目录中显示用户的颜色。
chroot_list_enable=YES
chroot_local_user=YES
# a list of users which are NOT to be placed in a chroot() jail
chroot_list_file=/etc/vsftpd/chroot_list对于管理用户,您可以创建虚拟用户(请看一下这里),但是如果您认为该解决方案太复杂,只需使用帕姆_listfile.so模块就可以拒绝ftp用户对ssh的访问或使用帕姆_shells.so。任何对你来说更容易的。只是要小心,不要阻止ssh服务器对有效用户:)
发布于 2012-06-30 01:47:30
听起来你需要一个带有非系统用户的chroot‘’ed ftp服务器,我认为这 wiki有你需要的答案。
发布于 2012-06-30 11:11:04
您应该使用虚拟用户作为FTP用户。
跟随这篇文章:http://howto.gumph.org/content/setup-virtual-users-and-directories-in-vsftpd/
https://serverfault.com/questions/403604
复制相似问题