### CentOS 7 搭建 FTP 服务器详细步骤 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的协议。在 CentOS 7 中搭建 FTP 服务器通常会选择使用 vsftpd(Very Secure FTP Daemon),因为它提供了非常高的安全性,并且支持多种认证方式。 #### 一、检查与安装 vsftpd 首先确保系统中未安装旧版本的 vsftpd。 1. **检查是否已安装 vsftpd**: ```bash rpm -qa | grep vsftpd ``` 如果输出包含 `vsftpd-2.0.5-16.el5_5.1` 或其他版本,则说明已安装。 2. **安装 vsftpd**: 如果未安装,可以通过 yum 进行安装: ```bash yum -y install vsftpd ``` #### 二、测试安装 安装完成后,需要启动服务并进行基本测试以确认安装成功。 1. **启动 vsftpd 服务**: ```bash service vsftpd start ``` 或者使用 systemctl: ```bash systemctl start vsftpd ``` 2. **测试连接**: 使用 FTP 客户端工具(如命令行的 ftp 工具)连接服务器: ```bash ftp [服务器IP] ``` 示例: ```bash ftp 192.168.1.107 ``` 登录时使用匿名登录(`user: anonymous`,密码为空)。如果连接成功,会看到类似如下输出: ``` Connected to 192.168.1.107. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. 331 Please specify the password. 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> bye 221 Goodbye. ``` #### 三、配置 vsftpd.conf 文件 vsftpd 的主要配置文件位于 `/etc/vsftpd/vsftpd.conf`。 1. **打开配置文件**: ```bash vi /etc/vsftpd/vsftpd.conf ``` 2. **配置项**: - **允许匿名登录**: ```ini anonymous_enable=YES ``` 如需禁止匿名登录,请将 `YES` 改为 `NO`。 - **限制用户目录**: ```ini chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ``` 这两个配置项用于限制用户只能在其主目录内操作。 - **启用本地用户**: ```ini local_enable=YES ``` 如果不希望本地用户通过 FTP 登录,可将其设置为 `NO`。 - **PAM 认证**: ```ini pam_service_name=vsftpd ``` PAM(Pluggable Authentication Modules)用于管理认证过程,确保安全性。 - **启用虚拟用户**: ```ini guest_enable=YES guest_username=ftp ``` 允许使用虚拟用户名登录,实际登录后将映射为本地用户 `ftp`。 - **个人配置文件**: ```ini user_config_dir=/etc/vsftpd/vuser_conf ``` #### 四、安装 db4-utils 为了创建数据库文件,需要安装 `db4-utils`。 1. **检查是否已安装**: ```bash find / -name "db_load" rpm -qf /usr/bin/db_load ``` 如果未安装,执行: ```bash yum install db4-utils ``` #### 五、创建限定用户列表文件 1. **创建文件**: ```bash touch /etc/vsftpd/chroot_list echo "ftp" >> /etc/vsftpd/chroot_list ``` #### 六、创建虚拟用户文件及生成数据库 1. **创建虚拟用户文件**: ```bash vi /etc/vsftpd/vftpuser.txt ``` 在文件中输入用户名和密码,格式为每行一个用户名或密码,如: ``` zz aaaaa ftp1 zzzzz ``` 2. **生成数据库文件**: ```bash db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db ``` #### 七、配置 PAM 认证 根据系统架构(32位或64位),需要配置相应的 PAM 认证模块。 1. **打开 PAM 配置文件**: ```bash vi /etc/pam.d/vsftpd ``` 2. **配置 PAM 认证模块**: 对于 32 位系统: ```ini auth required pam_userdb.so db=/etc/vsftpd/vftpuser account required pam_userdb.so db=/etc/vsftpd/vftpuser ``` 对于 64 位系统: ```ini auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser ``` 完成以上步骤后,重启 vsftpd 服务: ```bash service vsftpd restart ``` 现在,CentOS 7 上的 FTP 服务器应该已经成功搭建,并能够支持虚拟用户登录。
- 粉丝: 13
- 资源: 266
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助