在Ubuntu上设置一个用户(为了FTP目的)

那么build立一个ftp用户真的只是在ubuntu中设置一个用户? 我看到了一些关于设置一个没有主目录的用户。 还有什么其他的东西很重要 我想给用户最小的特权可能。 他们只需要访问/var/www/example.com和它下面的所有东西。 所以我想当他们login到ftp,他们只能看到(看不到任何其他文件夹/文件)。 如果有问题,我正在使用vsftpd。

那么,如果你真的关心安全性,那么我会build议你不要使用FTP,而是和SCP一起(WinSCP是一个很好的Windows客户端,FileZilla也支持它)。 为此,您只需添加新用户,并将他/她的主目录指向/var/www/example.com/

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

我会进一步build议禁用普通密码login并为所有用户帐户生成密钥。 互联网上有很多关于如何做到这一点的文章。

如果你真的想使用vsftpd,那么这样做:

  1. 添加用户(使用adduser或useradd)。 确保它们都在同一个组中(例如用户),使用选项-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. 具有用户特定的configuration目录

实际上,您可能希望在configuration文件中有以下选项:

 nopriv_user = FTP
 chroot_list_enable = YES
 chroot_list_file =的/ etc / VSFTPD / chroot_list
 passwd_chroot_enable = YES
 pam_service_name = VSFTPD
 userlist_enable = YES
 user_config_dir =的/ etc / VSFTPD / user_conf

更多信息可以在vsftpd的手册页find。