Debian12部署vsftpd
\1. 安装 vsftpd
sudo apt update
sudo apt install vsftpd
2、创建用户
useradd -m ftpadmin
passwd ftpadmin
New password: 输入密码
Retype new password: 输入密码
passwd: password updated successfully
\3. 配置 vsftpd
sudo vim /etc/vsftpd.conf
修改文件中以下内容内容:
listen=YES
listen_ipv6=NO
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# ftp可写命令 包括 复制粘贴 剪切移动 新建删除
write_enable=YES
# 本地用户权限
local_umask=022
# 匿名用户上传文件
anon_upload_enable=NO
# 匿名用户新建文件夹
anon_mkdir_write_enable=NO
# 目录消息 当远程用户进入某个目录 向他们发送消息
dirmessage_enable=YES
# 本地时间
use_localtime=YES
# 激活上载/下载的日志记录
xferlog_enable=YES
# 确保PORT传输连接来自端口20(FTP数据)
connect_from_port_20=YES
# 覆盖日志文件所在的位置。 默认值 /var/log/vsftpd.log
xferlog_file=/var/log/vsftpd.log
# 如果需要,可以将日志文件设置为标准ftpd xferlog格式。
# 请注意,在这种情况下,默认的日志文件位置是/var/log/xferlog
#xferlog_std_format=YES
# 二进制上传与下载
ascii_upload_enable=YES
ascii_download_enable=YES
# 您可以完全自定义登录标题字符串:
ftpd_banner=Welcome to blah FTP service.
# 将本地用户限制为他们的主目录。
chroot_local_user=YES
# 允许写入,解决500错误
allow_writeable_chroot=YES
# 取消注释以指示vsftpd使用utf8文件系统。
utf8_filesystem=YES
4、创建vsftpd白名单用户
vim /etc/vsftpd.user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
"ftpadmin"
5、确保用户根目录权限至少755
root@we-dev:~# ll /home/|grep ftp
drwxr-xr-x 3 ftpadmin ftpadmin 4.0K Mar 12 16:32 ftpadmin/
root@we-dev:~# ll /home/ftpadmin/
total 24K
drwxr-xr-x 3 ftpadmin ftpadmin 4.0K Mar 12 16:32 ./
drwxr-xr-x 4 root root 4.0K Mar 12 16:31 ../
-rw-r--r-- 1 ftpadmin ftpadmin 220 Apr 24 2023 .bash_logout
-rw-r--r-- 1 ftpadmin ftpadmin 3.5K Apr 24 2023 .bashrc
-rw-r--r-- 1 ftpadmin ftpadmin 807 Apr 24 2023 .profile
drwxr-xr-x 2 ftpadmin ftpadmin 4.0K Mar 12 16:41 upload/
6、重启vsftpd服务
# 重启ftp服务
systemctl restart vsftpd
# 查看ftp服务状态
systemctl status vsftpd
# 开机自启
systemctl elable vsftpd
7、连接ftp测试(注意服务器端口要开放21)
C:\Users\we>ftp 1.1.1.1
连接到 1.1.1.1。
220 Welcome to blah FTP service.
200 Always in UTF8 mode.
用户(1.1.1.1:(none)): ftpadmin
331 Please specify the password.
密码:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
upload
226 Directory send OK.
ftp: 收到 11 字节,用时 0.00秒 11.00千字节/秒。
ftp>
#ls 查看当前目录
#cd upload 进入upload文件夹
# put /path/to/local/file /remote/file/name 上传 #windows上传默认在当前用户 C:/Users/we/
# get /remote/file/name /path/to/local/file 下载 #windows下载默认在当前用户 C:/Users/we/