在 ubuntu 上设置用户(用于 ftp 目的)

在 ubuntu 上设置用户(用于 ftp 目的)

那么设置 ftp 用户真的只是在 ubuntu 中设置用户吗?我看到了一些关于设置没有主目录的用户的内容。还有哪些重要的事情?我想给用户尽可能少的权限。他们只需要访问 /var/www/example.com 及其下的所有内容。所以我希望当他们登录到 ftp 时,他们只能看到它(看不到任何其他文件夹/文件)。如果这很重要,我会使用 vsftpd。

答案1

好吧,如果您真的担心安全问题,那么我建议您根本不使用 FTP,而是使用 SCP(WinSCP 是一款出色的 Windows 客户端,FileZilla 也支持它)。要实现这一点,您只需添加新用户,并将其主目录指向 /var/www/example.com/

在 Ubuntu 下,如果他们使用 SSH 登录,你很难阻止他们看到其他内容,但你可以删除他们在 /etc/sudoers 中的条目(使用 visudo),这将阻止他们做任何事情。

我还建议禁用纯密码登录并为所有用户帐户生成密钥。互联网上有许多关于如何执行此操作的文章。

如果您确实想使用 vsftpd,请执行以下操作:

  1. 添加用户(使用 adduser 或 useradd)。确保他们都在同一个组(egusers),使用选项-s /etc/ftponly
  2. 将用户名添加到文件 /etc/vsftpd/chroot_list
  3. 执行touch /etc/vsftpd/user_conf/username(这是解决 vsftpd 中一些奇怪问题的方法)

这与以下内容配合使用:

  1. 匿名访问已禁用(在 /etc/vsftpd/vsftpd.conf 中)
  2. chroot_list 选项已启用并指向上述文件
  3. 拥有用户特定的配置目录

事实上,您可能希望在配置文件中有以下选项:

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 的手册页中找到。

相关内容