FTP部署
虚拟用户名:user
密码:xxxxx
服务端ip:192.168.1.102
服务端端口:2121
使用vsftpd
方法:ftp服务端设置虚拟用户,映射到系统用户techinao
一 :安装工具
sudo apt update
sudo apt install -y vsftpd db-util
二:配置
需手动配置
/etc/services 文件
sudo vim /etc/services
# 找到并将21/tcp和21/udp改为-> 2121/tcp和2121/udp
# ftp 21/tcp
# fsp 21/udp fspd
三:自动配置脚本
cd
touch installftp.sh
sudo chmod +x installftp.sh
vim installftp.sh
# 复制下面脚本中所有内容到installftp.sh中
# 避免出现权限不足问题
sudo ./installftp.sh
#!/bin/bash
#date:2024-01-6
#version:0.0.1
#authoe:ch
#开始安装vsftpd
echo ">>> 1. Start install Vsftpd ......"
sudo apt update
sudo apt install -y vsftpd db-util
sleep 3
#开始配置vsftpd
echo ">>> 2. Start config Vsftpd ......"
cp /etc/vsftpd.conf /etc/vsftpd.conf.back
echo "listen=YES
listen_port=2121
listen_ipv6=NO
anonymous_enable=NO
local_umask=022
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#local_root=/home/techinao/nvme/FTP
allow_writeable_chroot=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
#pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
guest_enable=YES
pam_service_name=vsftpd.virtual
user_config_dir=/etc/vsftpd/vconf
#pasv_enable=YES
#pasv_min_port=30000
#pasv_max_port=31000
#ascii_upload_enable=YES
#ascii_download_enable=YES" > /etc/vsftpd.conf
touch /etc/pam.d/vsftpd.virtual
echo "auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers" > /etc/pam.d/vsftpd.virtual
sleep 3
#开始配置其它
echo ">>> 3. Start config other ......"
mkdir /etc/vsftpd/vconf/ -p
sleep 3
#配置虚拟用户
echo ">>> 4. Start config vitual user"
echo -e "user\ntechinao" >> /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
touch /etc/vsftpd/vconf/user
echo "local_root=/home/techinao/nvme/FTP
guest_username=techinao
virtual_use_local_privs=YES
anon_upload_enable=YES
write_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=YES" > /etc/vsftpd/vconf/user
echo "All OVER! "
四:启动
# ftp状态查看:
sudo systemctl status vsftpd
# 启动ftp服务:
sudo service vsftpd start
# 重启ftp服务:
sudo service vsftpd restart
# 停止ftp服务:
sudo service vsftpd stop
# 设置开机自启: (最好设置一下)
sudo systemctl enable vsftpd
# 查看是否正确监听2121端口
sudo netstat -utlpn | grep ftp
#可以看到以下输出
# tcp 0 0 0.0.0.0:2121 0.0.0.0:* LISTEN 20822/vsftpd