我被要求根据vsftpd软件包配置FTP服务器.服务器在远程计算机上运行,我有超级用户权限访问权限.
由于不熟悉FTP服务器的机制,我试图弄清楚如何配置用户ftp帐户.之前的维护者使用了一个shell脚本,该脚本在我们维护的列表上工作,以跟踪用户帐户和密码,以配置ftp帐户.通过阅读脚本,我看到他生成了一个用户名和密码列表,并实际在Linux机器上创建了一个用户帐户.这意味着对于我们在列表中配置的每个用户,adduser命令正在添加一个新用户帐户:
adduser --home /home/ftp --no-create-home $user
(但没有私人/家庭/用户名目录 – 使用/ home / ftp instaed).
这些用户中的每一个都可以使用ssh命令登录其帐户.这个事实对我来说有点奇怪,因为我认为ftp帐户应该与Ubuntu用户帐户分离.
另一个副作用是,当用户使用Web浏览器进行连接时,他将连接到/ home / ftp目录.但是,他可以使用“Up to a level level directory”链接上去并有效地访问我们所有的系统.
所以,问题是:
>这真的是FTP服务器在配置ftp帐户方面应该如何工作吗?
>如果没有,我如何配置vsftpd服务器的方式,我只有该机器上的超级用户Ubuntu帐户和所有ftp帐户…只是FTP用户帐户?此外,应根据允许访问的方式和内容配置这些ftp帐户.
肯定以前的管理员做得不好.
首先,如果在vsftpd.conf中添加以下行,您将在其主目录中chroot用户.
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
对于管理用户,您可以创建虚拟用户(看看here),但如果您认为解决方案太复杂,只需使用pam_listfile.so模块拒绝ftp用户ssh访问或使用pam_shells.so.无论哪个更容易.小心不要阻止ssh服务器有效用户:)