apt install vsftpd
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
-m:自动建立用户的登入目录
useradd -m ftpuser
passwd ftpuser
bash -c "echo ftpuser >> /etc/vsftpd.userlist"
mkdir /home/ftpuser/ftp
chown ftpuser:ftpuser /home/ftpuser/ftp
vim /etc/vsftpd.conf
如果是NAT机器可以指端口 listen_port=2121
listen_ipv6=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
ssl_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/home/ftpuser/ftp
以下是 vsftpd 配置文件中给出的选项及其对应的功能说明:
listen_ipv6=YES
: 开启监听 IPv6 连接的功能。local_enable=YES
: 允许本地用户登录 FTP 服务器。write_enable=YES
: 允许本地用户上传和修改文件。local_umask=022
: 设置本地用户上传文件时的默认文件权限掩码。dirmessage_enable=YES
: 开启在用户进入目录时显示目录说明信息的功能。use_localtime=YES
: 设置 FTP 服务器使用本地时间。xferlog_enable=YES
: 开启在日志文件中记录文件传输情况的功能。secure_chroot_dir=/var/run/vsftpd/empty
: 设置 chroot 环境的安全目录,该目录应该是一个空目录,并且只有 root 用户有写权限。pam_service_name=vsftpd
: 指定 PAM 的服务名称,用于验证用户身份。ssl_enable=NO
: 禁用 SSL 加密传输功能。chroot_local_user=YES
: 将本地用户限制在其主目录中,禁止访问其他目录和文件。allow_writeable_chroot=YES
: 允许在本地用户的 chroot 环境中创建可写的文件夹。local_root=/home/ftpuser/ftp
: 指定本地用户的主目录为 /home/ftpuser/ftp
。这些选项控制着 vsftpd 的不同功能和行为,有助于提高 FTP 服务器的安全性和灵活性。需要根据实际需求进行配置
systemctl restart vsftpd
systemctl enable vsftpd