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 |
注意:所有配置文件不能出现中文注释。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具