HCRM博客

如何在CentOS 6.5上设置并配置FTP服务器?

CentOS 6.5 搭建FTP服务器(vsftpd)

安装与配置

1、安装 vsftpd

如何在CentOS 6.5上设置并配置FTP服务器?-图1
(图片来源网络,侵权删除)

使用yum 命令安装 vsftpd:

```bash

yum y install vsftpd

```

设置开机启动:

```bash

如何在CentOS 6.5上设置并配置FTP服务器?-图2
(图片来源网络,侵权删除)

chkconfig vsftpd on

```

查看服务状态:

```bash

service vsftpd status

```

如何在CentOS 6.5上设置并配置FTP服务器?-图3
(图片来源网络,侵权删除)

2、创建用户

创建用于FTP服务的系统用户,并设定其目录:

```bash

useradd ftpuser d /home/ftpuser s /sbin/nologin

```

新用户设置密码:

```bash

passwd ftpuser

```

将用户目录权限转移给用户:

```bash

chown R ftpuser:ftpuser /home/ftpuser

```

3、配置防火墙规则

允许FTP服务的端口通过防火墙:

```bash

iptables A INPUT m state state NEW m tcp p tcp dport 21 j ACCEPT

service iptables save

service iptables restart

```

4、修改 vsftpd 配置文件

编辑配置文件/etc/vsftpd/vsftpd.conf

```bash

vim /etc/vsftpd/vsftpd.conf

```

常用配置参数包括:

```plaintext

local_enable=YES

write_enable=YES

local_umask=022

chroot_local_user=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

```

保存后重启 vsftpd 服务:

```bash

service vsftpd restart

```

虚拟用户配置

1、安装 db4 包

用于支持文件数据库:

```bash

yum install db4

```

2、创建虚拟用户文本文件

建立虚拟用户名单文件virtualusers.txt,格式为用户名和密码交替排列:

```plaintext

user1

password1

user2

password2

```

生成数据库文件:

```bash

db_load T t hash f virtualusers.txt virtualusers.db

```

删除文本文件以保安全:

```bash

rm rf virtualusers.txt

```

3、配置 PAM 文件

编辑/etc/pam.d/vsftpd,添加以下内容:

```plaintext

auth required pam_userdb.so db=/etc/vsftpd/virtualusers

account required pam_userdb.so db=/etc/vsftpd/virtualusers

```

4、创建虚拟账户对应系统用户

禁止登录系统:

```bash

useradd ftpvip s /sbin/nologin

```

/etc/vsftpd/vuser_config 目录下创建虚拟账号的主目录:

```bash

mkdir /etc/vsftpd/vuser_config

touch /etc/vsftpd/vuser_config/user

touch /etc/vsftpd/vuser_config/vip

```

配置虚拟账号文件,例如user 文件中:

```plaintext

guest_enable=yes

guest_username=ftpvip

anon_world_readable_only=no

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

anon_max_rate=100000

```

5、重启 vsftpd 服务

```bash

service vsftpd restart

```

常见问题及解决方法

1、SELinux 配置问题

如果遇到 SELinux 导致的无法访问问题,可以暂时关闭 SELinux:

```bash

setenforce 0

```

或配置 SELinux 允许 FTP daemon 完全访问:

```bash

setsebool P allow_ftpd_full_access 1

```

2、防火墙配置问题

确保防火墙规则已正确配置并保存,否则可能导致无法连接。

FAQs(相关问答)

1、为什么无法连接到FTP服务器?

解答:首先检查防火墙规则是否允许FTP服务的端口(默认是21),确保vsftpd服务已启动并正确配置,如果仍然无法连接,检查SELinux设置是否允许FTP访问。

2、如何限制FTP用户的传输速率?

解答:在vsftpd的配置文件中,可以通过设置anon_max_rate参数来限制匿名用户的最大传输速率,

```plaintext

anon_max_rate=100000 # 限制为100KB/s

```

对于本地用户,可以使用local_max_rate参数进行类似设置。

分享:
扫描分享到社交APP
上一篇
下一篇