linux搭建ftp服务

linux搭建ftp服务

本地用户模式

安装vsftpd

sudo apt update && sudo apt install vsftpd
sudo systemctl status vsftpd

配置vsftpd

  1. 编辑/etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=31000
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
listen_port=2121
no_anon_password=YES
listen=YES
  1. 创建ftp用户
sudo useradd -m -d /home/ftpuser -s /bin/bash ftpuser
sudo passwd ftpuser
  1. 将用户加入白名单
echo "ftpuser" | sudo tee -a /etc/vsftpd.user_list
  1. 设置目录权限
sudo mkdir /home/ftpuser/ftp  # 创建FTP根目录
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser/ftp  # 限制权限
  1. 开启防火墙端口
sudo ufw allow 2121
sudo ufw allow 30000:31000/tcp
sudo ufw reload  # 重新加载规则
  1. 重启vsftp服务

虚拟用户模式

安装vsftpd

sudo apt update && sudo apt install vsftpd
sudo systemctl status vsftpd

创建虚拟用户数据库

  1. 生成用户密码文件,最后一行需回车
// file: loguser.txt
ftpuser
ftppass
  1. 生成数据库
sudo apt install db-util
sudo db_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
sudo chmod 600 /etc/vsftpd_login.db

配置PAM文件

  1. 配置/etc/pam.d/vsftpd.vu文件添加到头两行。
auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login

为虚拟用户创建本地系统用户

sudo useradd -m -d /home/vsftpd -s /bin/false vsftpd
sudo chown vsftpd:vsftpd /home/vsftpd

配置vsftpd.conf文件

listen=YES
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
pasv_min_port=30000
pasv_max_port=31000
listen_port=2121
allow_writeable_chroot=YES

权限配置

  1. 根据user_config_dir=/etc/vsftpd_user_conf创建相应配置文件
sudo mkdir /etc/vsftpd_user_conf
cd /etc/vsftpd_user_conf 
sudo touch ftpuser
  1. 修改/etc/vsftpd_user_conf/ftpuser文件
write_enable=YES
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_other_write_enable=YES 
local_root=/home/vsftpd/ftpuser

重启vsftp服务

评论 (0)

还没有评论,来抢沙发吧。

发表评论

评论需经审核后显示。