如何在CentOS 6.3中配置FTP服务器–vsftpd
时间:2019-08-20 17:58:12 来源:igfitidea点击:
vsftpd是“非常安全的FTP守护程序”的意思。(Very Secure FTP Daemon)
vsftp是一个用于类Unix系统(包括Linux)的FTP服务器。
支持IPv6和SSL。FTP协议默认端口:20和21
vsftpd是Ubuntu、CentOS、Fedora、NimbleX、Slackware和rhellinux发行版中的默认FTP服务器。
服务器信息:
[root@localhost vsftpd]# cat /etc/issue CentOS release 6.3 (Final) Kernel r on an m [root@localhost vsftpd]# uname -ar Linux localhost.localdomain 2.6.32-279.el6.i686 #1 SMP Fri Jun 22 10:59:55 UTC 2012 i686 i686 i386 GNU/Linux [root@localhost vsftpd]# rpm -qa|grep vsftpd vsftpd-2.2.2-11.el6.i686 [root@localhost vsftpd]# getenforce Enforcing [root@localhost vsftpd]#
安装vsftp服务器步骤:
安装vsftpd包
yum install -y vsftpd
备份vsftpd.conf文件
cd /etc/vsftpd cp -p vsftpd.conf vsftpd.conf.orig
编辑vsftpd.conf文件
内容参考如下:
[root@localhost vsftpd]# egrep -v "^#|^$" vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES [root@localhost vsftpd]#
在启用了selinux的系统中,执行下面命令,运行访问ftp目录
[root@localhost vsftpd]# getsebool -a|grep ftp allow_ftpd_anon_write off allow_ftpd_full_access off allow_ftpd_use_cifs off allow_ftpd_use_nfs off ftp_home_dir off ftpd_connect_db off ftpd_use_passive_mode off httpd_enable_ftp_server off tftp_anon_write off [root@localhost vsftpd]# setsebool -P ftp_home_dir on [root@localhost vsftpd]# [root@localhost vsftpd]# getsebool -a|grep ftp allow_ftpd_anon_write off allow_ftpd_full_access off allow_ftpd_use_cifs off allow_ftpd_use_nfs off ftp_home_dir on ftpd_connect_db off ftpd_use_passive_mode off httpd_enable_ftp_server off tftp_anon_write off [root@localhost vsftpd]#
配置防火墙
开放ftp服务器使用的21号和20号端口。
编辑后重新启动iptable。
[root@localhost sysconfig]#cd /etc/sysconfig [root@localhost sysconfig]#cp -p iptables iptables.orig [root@localhost sysconfig]# cat iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp --dport 21 -j ACCEPT -A INPUT -p tcp --dport 20 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A INPUT -j REJECT COMMIT [root@localhost sysconfig]# /etc/init.d/iptables restart
启动vsftp服务器
[root@localhost ~]# /etc/init.d/vsftpd start
在服务器中创建用户并设置其密码。
useradd test passwd test
现在尝试从ftp客户端登录。
在linux中,可以使用命令
ftp server_ip
vsftpd 配置文件
ftpusers文件 中是不允许通过ftp登录的用户列表。
对于user_list文件,如果userlist_deny=NO,则只允许列表中的用户登录。
如果userlist_deny=YES(默认),则不允许列表中的用户登录。