vsftp安装配置

需求:搭建一个ftp,给予一个虚拟用户,仅对一个目录存在权限

 

1.安装vstpd

1
yum install vsftpd -y

 

2.安装libdb-utils

  安装Berkeley DB工具,用于生成虚拟用户认证文件

1
2
3
yum install libdb-utils   #Centos7
 
yum install db4 db4-utils   #Centos6

 

3.创建属主用户

  所有虚拟用户都是映射属主用户的目录权限。

 

4.修改主配置文件(/etc/vsftpd/vsftpd.conf)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
listen=YES   #使用ipv4进行监听
anonymous_enable=NO    #关闭匿名访问
dirmessage_enable=YES
xferlog_enable=YES   #启动日志
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES    #限制用户不能离开特定目录
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
guest_enable=YES      #启动后,所有非匿名用户将映射到guest_username进行访问,并且转换成一个虚拟用户
guest_username=www
user_config_dir=/etc/vsftpd/vuser_conf   #虚拟用户配置文件目录
pam_service_name=vsftpd    #pam认证文件名称
local_enable=YES    #启用本地系统用户,包括虚拟用户
connect_from_port_20=NO  #关闭ftp-data端口,相当于不使用主动模式
pasv_enable=YES
pasv_min_port=33000
pasv_max_port=34000

  

 

5.创建chroot文件

1
touch /etc/vsftpd/chroot_list

  

6.创建虚拟用户列表

1
echo -e "ftpuser\n123456" > /etc/vsftpd/vuser

 

7.生成虚拟用户认证文件

1
2
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

 

8.配置虚拟用户认证

1
2
3
4
5
cp /etc/pam.d/vsftpd{,.bak}
 
echo -e \
"auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser\n\
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd

  

9.配置虚拟用户配置文件

1
2
3
4
5
6
7
8
9
10
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser  #文件名与对应FTP虚拟用户一致
 
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/www/backup  #虚拟用户主目录,用户和组必须指定为宿主用户
anon_umask=020

 

10.配置防火墙和selinux

1
2
3
4
5
setsebool -P ftpd_full_access on
 
iptables -I INPUT -p tcp --dport 21 -j ACCEPT  #FTP连接端口
iptables -I INPUT -p tcp --dport 33000:34000 -j ACCEPT  #pasv模式下的随机端口
iptables-save >/etc/sysconfig/iptables  #保存防火墙配置

 

11.重启vsftpd

1
service vsftpd restart

  

注意:所有配置文件不能出现中文注释。  

posted @   Buddha-Youth  阅读(353)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
点击右上角即可分享
微信分享提示