wsl2 中 vsftpd 安装,包括用户配置

126 阅读1分钟

用户配置

useradd命令

-s指定shell,包括bash(/usr/bin/bash)和nologin(/usr/sbin/nologin),可以用whereis命令查看。

-rroot用户

-d指定目录

所以我执行了这一行命令:sudo useradd -s /usr/sbin/nologin -d /home/ftp/ ftpuser

查看shells文件

sudo vim /etc/shells

添加一行

/usr/sbin/nologin

passwd命令

sudo passwd ftpuser

chown命令

change owner需要递归改变所属者,加上-R

sudo chown -R ftpuser /home/ftp/

安装vsftpd

sudo vim /etc/vsftpd.conf

FTP 本地用户

禁用匿名用户,启用本地用户

anonymous_enable=NO
local_enable=YES

这步其实是默认值,不用改

启用上传

write_enable=YES

Chroot Jail

chroot_local_user:防止本地FTP用户访问其家目录之外的文件

allow_writeable_chroot:允许用户上传文件chroot的目录

默认情况下,出于安全原因,当启用chroot时,如果用户被锁定的目录是可写的,则VSFTPD将拒绝上传文件。

chroot_local_user=YES
allow_writeable_chroot=YES

被动 FTP 连接

pasv_min_port=30000
pasv_max_port=31000

限制用户登录

userlist_enable=YES
userlist_file=/etc/vsftpd.user_allow_list
userlist_deny=NO

/etc/vsftpd.user_allow_list文件中需要添加白名单,如果userlist_deny为YES则为黑名单

最后

现在可以重启服务了,记着设置防火墙和selinux