在 Ubuntu 中的 vsftpd 中设置用户及其根目录

在 Ubuntu 中的 vsftpd 中设置用户及其根目录

我想www-data为 vsftpd 设置一个用户并将其根目录设置为/somepath/www-data/project.

我怎样才能做到这一点?

答案1

vsftpd 手册页是这里。另请查看示例目录显示不同可能的 FTP 配置。

真实用户

假设您希望真正的系统用户访问 ftp,您必须设置该选项local_enable=是。但如果您这样做,所有用户将自动能够通过 FTP 登录。因此,通过设置设置 FTP 用户白名单可能是个好主意userlist_enable=是,userlist_deny=否并指定 '用户列表文件'。如果您希望将用户锁定在其主目录中,您可以设置chroot_local_user=是

最小样本/etc/vsftpd.conf:

# Access rights
anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
write_enable=YES

虚拟用户

Vsftpd 还通过 PAM 集成支持虚拟用户。放guest_enable=是在 /etc/vsftpd.conf 中。这具有将每个非匿名成功登录映射到 ' 中指定的本地用户名的效果访客用户名'。然后,使用 PAM 和(例如)其 pam_userdb 模块提供针对外部(即非 /etc/passwd)用户存储库的身份验证。我从未亲自使用过此配置,但在 中有虚拟用户设置的示例示例目录

答案2

首先以 root 身份登录:sudo -i。
然后添加用户: useradd -d /somepath/www-data/project -m user

然后该用户应该能够登录。

相关内容