CentOS下安装FTP服务器:
第一步,检查服务器端是否已经安装FTP:[[email protected] centos]# rpm -q vsftpd
如果出现的是:[[email protected] centos]# package vsftpd is not installed ,说明vsftpd没有安装,如果出现的是:vsftpd-2.2.2-13.el6_6.1.i686 说明vsftpd已经进行了安装。
第二步,安装vsftpd。[[email protected] centos]# yum -y install vsftpd 在超级管理员角色下进行服务器端的FTP安装。
第三步,设置匿名登陆FTP信息。
一关闭服务器端的防火墙 [[email protected] centos]# service iptables stop
二允许端口21端口例外 [[email protected] centos]# vi /etc/sysconfig/iptables ,在文档的裡面添加
-A INPUT -m state –state NEW -m tcp -p tap –dport 21 -j ACCEPT -A INPUT -p tcp –dport 30000:30100 -j ACCEPT
③重启vsftpd服务 [[email protected] centos]# service vsftpd restart
四开启服务器端的防火墙 [[email protected] centos]# service iptables start
第四步,以上操作即可以实现vsftpd匿名登陆的方式。
第五步,取消服务器端的vsftpd匿名登陆的方式,重新添加用户验证登陆方式。
㈠关闭匿名登陆方式。[[email protected] centos]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 更改成: anonymous_enable=NO 。设定成匿名登陆禁止
㈡让vsftpd服务器支持被动链接模式,在配置文件的最后添加:
1 pam_service_name=vsftpd 2 userlist_enable=YES 3 tcp_wrappers=YES 4 5 pasv_enable=YES 6 pasv_max_port=30100 7 pasv_min_port=30000
㈢重启vsftpd服务器 [[email protected]lhost centos]# service vsftpd restart ,测试匿名登陆是否取消生效。
第六步,添加vsftp服务器端用户验证方式登陆。
⑴修改配置文件,添加验证用户:[[email protected] centos]# vi /etc/vsftpd/vsftpd.conf
把用户限定到自己的目录当中,
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
⑵添加vsftpd验证用户的登陆名和密码
[[email protected] centos]# useradd -d /var/www/php -g ftp -s /sbin/nologin sniper [[email protected] centos]# passwd sniper
⑶提升目录权限
[[email protected] centos]# chmod 777 /var/www/php -R
⑷将目录权限分配给FTP组的sniper用户
[[email protected] centos]# chown sniper:ftp /var/www/php
⑸重启vsftpd服务[[email protected] centos]# service vsftpd restart
综合以上,VSFTPD已经配置安装完成。
如果在ftp客户端连接FTP服务器端出现错误:500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list,你则需要将chroot_list_enable=YES 修改成:chroot_list_enable=NO,重启测试就可以了。
安装完成的VSFTPD是不支持ftp的文件上传和下载、查看列表等功能的,需要输入另外两行命令进行设置:
[[email protected] www]# setsebool -P ftp_home_dir 1
[[email protected] www]# setsebool -P allow_ftpd_full_access 1