vsftp简单部署(匿名和本地可访问)

vsftp是Linux下提供的安全FTP服务器,全称是Very Secure FTP
Fedora21下安装方法:
$sudo yum install -y vsftpd
配置文件目录
/etc/vsftpd/
├── ftpusers
├── user_list
├── vsftpd.conf
└── vsftpd_conf_migrate.sh
主要配置文件是vsftpd.conf,内容如下:

listen=YES
local_root=/local_repo
anon_root=/local_repo
#允许匿名访问
anonymous_enable=YES
#允许本地用户对FTP服务器文件有写权限
write_enable=YES
#系统自动维护上传和下载日志
xferlog_enable=YES
#设定FTP服务器将启用FTP数据端口的连接请求
connect_from_port_20=YES
#标准格式写日志文件
xferlog_std_format=YES
#设置本地用户默认掩码
local_umask=022
#不允许匿名用户上传文件
anon_upload_enable=NO
#不允许匿名用户写文件
anon_mkdir_write_enable=NO
#设置PAM外挂模块提供的认证服务所使用的配置文件名
pam_service_name=vsftpd
#是否允许ftpusers文件中得用户登录FTP服务器,默认为NO
userlist_enable=YES
#是否使用tcp_wrappers作为主机访问控制方式
tcp_wrappers=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

创建local_repo,修改用户和组为nobody,
mkdir/localrepo;chownRnobody:nobody/localrepo service vsftpd start
测试本地用户是否可以登录

[root@localhost ~]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (127.0.0.1:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

在局域网主机中登录测试:
局域网测试
FTP协议使用两个端口:控制端口和数据端口,控制端口用于进行一些命令啊什么的传输,而数据端口用于做实际的数据传输
控制端口为21,数据端口一般为20;
有两种工作模式:被动和主动模式,差别在于建立数据连接时是由谁来主动建立连接,被动模式是由客户端来主动连接服务器提供的数据侦听端口,而主动模式是由服务端来主动连接客户端,但是由于客户端的防火墙等策略,可能会失败。所以一般都是被动模式,具体工作流程如下:
ftp被动模式

### 如何在Linux上部署VSFTP服务器 #### 安装VSFTPD 为了在Linux系统上设置VSFTP服务器,首先需要确保已安装必要的软件包。对于基于Debian/Ubuntu的系统,可以通过以下命令来完成: ```bash sudo apt update && sudo apt install vsftpd -y ``` 对于基于Red Hat/CentOS/Fedora的系统,则应使用`yum`或`dnf`工具: ```bash sudo yum install vsftpd # 对于CentOS/RHEL 7及更早版本 sudo dnf install vsftpd # 对于Fedora以及RHEL 8+ ``` #### 配置防火墙规则 为了让外部设备能够访问FTP服务,需配置系统的防火墙允许通过相应的端口,默认情况下为21号TCP端口。 对于采用`firewalld`作为防火墙管理器的系统而言, ```bash sudo firewall-cmd --add-service=ftp sudo systemctl reload firewalld.service ``` 而对于使用`ufw`的情况来说, ```bash sudo ufw allow ftp ``` 以上操作均有助于开放必需的服务端口[^1]。 #### 修改默认配置文件 编辑位于/etc/vsftpd.conf的主要配置文件以适应特定需求。一些常见的调整可能涉及更改监听地址、启用被动模式支持等特性。例如,若希望仅限本地用户登录并禁用匿名访问权限,那么应该修改如下几项参数: - `listen=YES`: 启动独立模式下的vsftpd守护进程。 - `anonymous_enable=NO`: 关闭匿名用户的连接请求处理功能。 - `local_enable=YES`: 授权本机账户执行上传下载动作。 - `write_enable=YES`: 给予写入权利给合法注册过的成员账号。 这些改动应当依据实际应用场景灵活设定。 #### 创建虚拟用户数据库(可选) 当不想让真实存在的操作系统级身份验证参与进来时,创建一套单独用于FTP认证机制内的用户名密码组合会更加安全可靠。这通常涉及到建立PAM模块配合纯文本形式存储凭证信息的小型数据库表结构。 具体实现方式较为复杂,在此不做详述;有兴趣深入了解者建议查阅官方文档或其他权威资料获取指导。 #### 测试与重启服务 最后一步便是检验新搭建好的环境能否正常运作了。尝试从另一台计算机发起连接测试看看是否一切顺利。一旦确认无误便可通过下面这条指令使变动生效: ```bash sudo systemctl restart vsftpd.service ``` 同时也可以考虑将其设为开机自启项目以便长期稳定提供这项网络资源共享能力: ```bash sudo systemctl enable vsftpd.service ``` 这样就完成了整个过程概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值