linux搭建ftp服务
本地用户模式
安装vsftpd
sudo apt update && sudo apt install vsftpd
sudo systemctl status vsftpd
配置vsftpd
- 编辑
/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
- 创建ftp用户
sudo useradd -m -d /home/ftpuser -s /bin/bash ftpuser
sudo passwd ftpuser
- 将用户加入白名单
echo "ftpuser" | sudo tee -a /etc/vsftpd.user_list
- 设置目录权限
sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser/ftp
- 开启防火墙端口
sudo ufw allow 2121
sudo ufw allow 30000:31000/tcp
sudo ufw reload
- 重启vsftp服务
虚拟用户模式
安装vsftpd
sudo apt update && sudo apt install vsftpd
sudo systemctl status vsftpd
创建虚拟用户数据库
- 生成用户密码文件,最后一行需回车
ftpuser
ftppass
- 生成数据库
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文件
- 配置
/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
权限配置
- 根据
user_config_dir=/etc/vsftpd_user_conf创建相应配置文件
sudo mkdir /etc/vsftpd_user_conf
cd /etc/vsftpd_user_conf
sudo touch ftpuser
- 修改
/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)
还没有评论,来抢沙发吧。
发表评论