Linux下安装FTP服务器及配置


通常情况下,向服务器上传代码、文件,vsftp用的还是比较多的。下面是本人安装配置的过程。
Linux系统:centos6.6.
安装步骤
1.通过yum来安装vsftpd

[root@localhost ~]# yum -y install vsftpd

2.设置为开机启动

[root@localhost ~]# chkconfig vsftpd on

3.把下面几行注释去掉,让其配置生效:

local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES      #这行可能需自己写
pam_service_name=vsftpd
userlist_enable=YES

4.配置保存后重启vsftpd服务:

[root@localhost ~]# service vsftpd restart

添加用户及额外配置
1.设置vsftp的帐号。

    [root@localhost ~]# useradd -d /home/htdocs -s /sbin/nologin 用户名 

2.为添加的账号设置密码

[root@localhost ~]# passwd 用户名
根据提示操作

这样的话,基本的vsftpd服务配置好了。但是这样配置完成后客户端并不能连接上,主要应该是默认防火墙设置下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问。
1.添加ip_conntrack_ftp 模块

[root@localhost ~]# vi /etc/sysconfig/iptables-config

添加下面一行

IPTABLES_MODULES="ip_conntrack_ftp"

2.打开21端口

[root@localhost ~]# vi /etc/sysconfig/iptables

添加

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

3.重启iptables使新的规则生效

[root@localhost ~]# service iptables restart

到此,应该是可以了,若软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:可以用下面的命令检查

[root@localhost ~]#getsebool -a |grep ftp

allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off

这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。

[root@localhost ~]#setsebool -P ftp_home_dir 1
[root@localhost ~]#setsebool -P allow_ftpd_full_access 1

到此,应该解决问题了。

相关内容