临时用的ftp之vsftp匿名用户

本文详细介绍如何配置VSFTP以支持匿名用户登录、上传文件及创建文件夹等功能,并解释了不同配置选项的作用。

关于ftp一直用的vsftp,这不重要。

主要是一直想整理一下ftp的配置,懒病发作,琐事缠身一直没行动,结果就是脑子一头浆糊。直接导致每次要用的时候都要重新回神找资料。

So,重要的事,还是做了吧。


前期计划发四篇,前三篇针对vsftp的三种登录方式的最简配置——我发现临时要用的情况比要做一个完整FTP的情况要多多了。第四篇是公用的配置部分,对最简配置的补充,也是完整FTP服务器的必须部分。


vsftp有两个匿名用户 ftp 、anonymous 密码为空

默认是目录是/var/ftp/pub


匿名用户的基本配置如下:

listen=YES //打开侦听

anonymous_enable=YES //允许匿名用户登录

write_enable=YES //允许写入

anon_upload_enable=YES //允许匿名用户上传

anon_mkdir_write_enable=YES //允许匿名用户新建文件夹


按以上配置,匿名用户 可以 登录、上传文件、新建文件夹;不能打开和下载文件(包括自己刚刚上传的文件)、不能修改文件、不能删除文件

上传文件的属性为:所属用户和所属组为 ftp.ftp,权限为 文件600,文件夹700


如果人为把文件属性改为777,那么匿名用户可以下载和查看文件内容,但依旧不能删除和修改文件


匿名用户的专属配置项:

no_anon_passwd  如是设置为Yes,则不会询问匿名用户的密码。默认这个属性是没有出现的。





<think>好的,用户想了解如何配置VSFTPD匿名登录。首先,我需要回忆一下VSFTPD的基本配置方法。VSFTPD是一个常用的FTP服务器软件,匿名登录允许用户无需账户即可访问特定目录。 首先,用户可能需要安装VSFTPD。在Debian/Ubuntu上可以用apt,CentOS/RHEL用yum或dnf。不过用户的问题是关于配置,可能已经安装好了。所以重点在配置文件。 VSFTPD的主配置文件通常是/etc/vsftpd.conf。配置匿名登录需要设置anonymous_enable=YES。默认情况下,这个选项可能已经被注释或者设置为NO,需要检查并修改。另外,匿名用户的主目录一般是/var/ftp,可能需要确保该目录存在且有适当权限,比如755,属主是root。 接下来,可能需要设置anon_root来指定匿名用户访问的目录,但这个是可选的。如果用户需要上传文件,还得设置anon_upload_enable=YES,并创建上传目录,赋予写权限。同时,write_enable=YES必须开启,否则上传功能无法使用。 然后,权限问题很重要。匿名用户的权限受限于FTP服务器的配置和文件系统的权限。例如,上传目录需要匿名用户有写权限,通常需要chmod 777加上目录,或者调整属主为ftp用户,比如chown ftp:ftp /var/ftp/pub。 安全方面需要考虑是否允许匿名用户删除或重命名文件,这可以通过anon_other_write_enable控制,但开启可能有风险。另外,限制匿名用户的速率和连接数也是常见的做法,避免资源滥用。 配置完成后,需要重启VSFTPD服务,比如用systemctl restart vsftpd,并确保防火墙放行FTP端口,通常是21,以及被动模式可能需要的端口范围。 测试时,可以用ftp客户端连接,用户名填anonymous,密码随意,或者直接浏览器访问ftp://服务器IP。检查能否上传下载文件,确保配置生效。 可能的问题包括SELinux或AppArmor阻止访问,需要调整策略或关闭。还有被动模式的配置,如果客户端在NAT后面,可能需要设置pasv_min_port和pasv_max_port,并在防火墙开放这些端口。 总结步骤:安装软件,编辑配置文件,设置权限,处理安全策略,重启服务,测试连接。用户可能需要根据具体需求调整上传、下载权限,以及安全限制。</think>### VSFTPD 匿名登录配置步骤 --- #### 1. **安装 VSFTPD** ```bash # Debian/Ubuntu sudo apt update && sudo apt install vsftpd # CentOS/RHEL sudo yum install vsftpd # 或 sudo dnf install vsftpd ``` --- #### 2. **配置匿名登录** 编辑配置文件 `/etc/vsftpd.conf`: ```bash sudo nano /etc/vsftpd.conf ``` 修改或添加以下参数: ```ini # 启用匿名登录 anonymous_enable=YES # 设置匿名用户根目录(默认 /var/ftp) anon_root=/var/ftp # 允许匿名用户下载文件 anon_world_readable_only=NO # 允许匿名用户上传(可选) anon_upload_enable=YES anon_mkdir_write_enable=YES # 允许写入操作(必须开启) write_enable=YES ``` --- #### 3. **设置文件权限** ```bash # 创建匿名目录(如果不存在) sudo mkdir -p /var/ftp/pub # 设置上传目录权限(如需上传) sudo chown ftp:ftp /var/ftp/pub sudo chmod 777 /var/ftp/pub # 或更严格的权限(如 755) ``` --- #### 4. **安全限制(可选)** ```ini # 限制匿名用户删除/重命名文件 anon_other_write_enable=NO # 限制最大传输速率(单位:字节/秒) anon_max_rate=102400 # 100KB/s # 限制并发连接数 max_clients=10 max_per_ip=2 ``` --- #### 5. **重启服务** ```bash sudo systemctl restart vsftpd sudo systemctl enable vsftpd # 开机自启 ``` --- #### 6. **防火墙放行 FTP** ```bash # 放行 FTP 默认端口 21 sudo ufw allow 21/tcp # 若启用被动模式(pasv),需放行端口范围 sudo ufw allow 30000:31000/tcp # 修改 vsftpd.conf 中的 pasv_min_port/pasv_max_port ``` --- #### 7. **测试匿名登录** - **命令行测试**: ```bash ftp <服务器IP> 用户名输入:anonymous 密码随意(如空或任意邮箱) ``` - **浏览器测试**: 访问 `ftp://<服务器IP>`,检查能否浏览/上传文件。 --- #### 常见问题排查 1. **权限问题**: - 确保 `/var/ftp` 及其子目录权限正确。 - 关闭 SELinux(临时):`sudo setenforce 0` 或调整策略:`sudo setsebool -P ftpd_full_access=1` 2. **被动模式配置**: ```ini pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 pasv_address=<服务器公网IP> ``` --- 通过以上步骤,可快速配置一个支持匿名访问的 FTP 服务器。根据实际需求调整安全策略和权限设置。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值