在 CentOS 7.6 上安装 FTP 服务可以通过安装 vsftpd(Very Secure FTP Daemon)来实现,这是一个安全、轻量级的 FTP 服务器。以下是安装和配置 vsftpd 的步骤:
步骤 1: 安装 vsftpd
-
确保你的包管理器列表是最新的:
sudo yum update -
安装
vsftpd包:sudo yum install vsftpd
步骤 2: 配置 vsftpd
-
打开
vsftpd的配置文件进行编辑:sudo vi /etc/vsftpd/vsftpd.conf -
基本配置项(确保以下选项打开或设置):
anonymous_enable=NO # 禁止匿名用户登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 启用写权限 chroot_local_user=YES # 限制用户访问其主目录 -
如果需要被动模式和防火墙兼容,可以添加:
pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 -
在配置文件中,找到并修改监听端口。添加或编辑以下行来设置新的端口号(例如更改为 2121):
listen_port=2121
步骤 3: 启动 vsftpd 服务
-
启动
vsftpd服务:sudo systemctl start vsftpd -
使
vsftpd服务开机自动启动:sudo systemctl enable vsftpd
步骤 4: 配置防火墙
-
打开 FTP 端口(默认的 FTP 端口为 21,及被动模式下的端口范围):
sudo firewall-cmd --zone=public --add-port=21/tcp --permanent sudo firewall-cmd --zone=public --add-port=30000-31000/tcp --permanent sudo firewall-cmd --reload
步骤 5: SELinux 配置(如果启用)
如果 SELinux 已启用,可能需要调整其策略以允许 FTP 访问用户主目录和在被动模式下进行连接:
-
配置 FTP 的 home 目录访问:
sudo setsebool -P ftp_home_dir 1 -
允许被动模式的传入连接:
sudo setsebool -P ftpd_full_access 1
步骤 6: 创建用户并测试
在配置好 vsftpd 后,你可以创建一个测试用户来验证你的 FTP 服务是否正常工作。以下是创建本地用户并进行测试的步骤:
创建测试用户
-
添加用户:
-
使用以下命令创建一个新的用户(例如,用户
ftpuser):sudo adduser ftpuser
-
-
设置用户密码:
-
为新用户设置密码:
sudo passwd ftpuser -
按照提示输入密码,并确认密码。
-
文件权限设置
-
配置用户的主目录:
-
确保用户的主目录存在并且有适当的权限。系统会自动创建用户的主目录(如
/home/ftpuser/)。确认目录存在:ls -ld /home/ftpuser
-
-
目录权限:
-
确保用户对其主目录以及其中的文件拥有正确的读、写权限:
sudo chown ftpuser:ftpuser /home/ftpuser -
这会将目录的所有权赋予
ftpuser,并确保用户可以读写这个目录。
-
修改 vsftpd 配置(可选)
- 允许用户写入(如果尚未配置):
-
确认
vsftpd的配置文件中启用了写权限:write_enable=YES -
若有更改,请记得重启
vsftpd:sudo systemctl restart vsftpd
-
连接测试
-
使用 FTP 客户端连接:
-
使用 FTP 客户端软件连接到服务器并尝试登录。可以使用命令行工具
ftp:ftp <服务器IP地址> <端口号> -
输入用户名
ftpuser和对应的密码。
-
-
测试文件操作:
-
进入后,尝试上传、下载文件以确保读写操作都正常:
put localfile # 上传文件 get remotefile # 下载文件
-
通过这些步骤,你应该可以在你的 FTP 服务器上创建一个测试用户并验证 FTP 服务的配置是不是正确的,确保它能正常运行并处理文件传输。如遇到问题,请检查日志文件 /var/log/vsftpd.log 以获取更多信息。