那么设置 ftp 用户真的只是在 ubuntu 中设置用户吗?我看到了一些关于设置没有主目录的用户的内容。还有哪些重要的事情?我想给用户尽可能少的权限。他们只需要访问 /var/www/example.com 及其下的所有内容。所以我希望当他们登录到 ftp 时,他们只能看到它(看不到任何其他文件夹/文件)。如果这很重要,我会使用 vsftpd。
答案1
好吧,如果您真的担心安全问题,那么我建议您根本不使用 FTP,而是使用 SCP(WinSCP 是一款出色的 Windows 客户端,FileZilla 也支持它)。要实现这一点,您只需添加新用户,并将其主目录指向 /var/www/example.com/
在 Ubuntu 下,如果他们使用 SSH 登录,你很难阻止他们看到其他内容,但你可以删除他们在 /etc/sudoers 中的条目(使用 visudo),这将阻止他们做任何事情。
我还建议禁用纯密码登录并为所有用户帐户生成密钥。互联网上有许多关于如何执行此操作的文章。
如果您确实想使用 vsftpd,请执行以下操作:
- 添加用户(使用 adduser 或 useradd)。确保他们都在同一个组(egusers),使用选项
-s /etc/ftponly
- 将用户名添加到文件 /etc/vsftpd/chroot_list
- 执行
touch /etc/vsftpd/user_conf/username
(这是解决 vsftpd 中一些奇怪问题的方法)
这与以下内容配合使用:
- 匿名访问已禁用(在 /etc/vsftpd/vsftpd.conf 中)
- chroot_list 选项已启用并指向上述文件
- 拥有用户特定的配置目录
事实上,您可能希望在配置文件中有以下选项:
nopriv_user=ftp chroot_list_enable =是 chroot_list_file=/etc/vsftpd/chroot_list passwd_chroot_enable=YES pam_service_name=vsftpd 用户列表启用=YES 用户配置目录=/etc/vsftpd/用户配置
更多信息可以在 vsftpd 的手册页中找到。