VSFTP服务简单架设心得(新手心得)练到哪里就发哪里的!
1、安装VSFTP包
Yum list |grep ftp
Yum install vsftpd.i386
2、VSFTP相关配置文件:
/etc/vsftpd/vsftpd.conf:核心配置文件。
/etc/vsftpd/ftpusers:默认用于指定那些用户不能登录FTP
/etc/vsftpd/user_list:默认指定允许访问的用户列表文件
/var/ftp:默认的匿名用户登录FTP后的根目录
3、服务架设目标:
匿名用户可以上传下载文件并且可以创建目录。
4、vsftpd.conf文件的配置:红色部分开启,其他可以不问
*******************************************
anonymous_enable=YES 允许匿名用户访问
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES 允许匿名用户可以上传文件
anon_mkdir_write_enable=YES 允许匿名用户可以创建目录
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
****************************************
5、目录的相关设置:
/var/ftp 目录的默认全权限是755,不要修改这个,如果修改重启动VSFTP服务就会报错。
在/var/FTP目录下创建一个目录共大家上传文件,并调整权限
mkdir /var/ftp/commpany
chown ftp /var/ftp/commpany ; chgrp ftp /var/ftp/commpany
chmod 755 commpany
6、selinux的设置:
getsebool -a |grep ftp
******************************************
[root@server booleans]# getsebool -a |grep ftp
allow_ftpd_anon_write –> on FTP服务中匿名用户写权限
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> on
ftpd_disable_trans –> off 可以关闭Selinux对VSFTP服务的限制,不建议使用
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
**********************************************
Setsebool -P allow_ftpd_anon_write on
7、修改目标目录的上下文:
**************************************************
[root@service ftp]# ls -Zd commpany
drwxrwxr-x root ftp rootbject_r:public_content_t commpany
[root@service ftp]# chcon -t public_content_rw_t commpany
[root@service ftp]# ls -Zd commpany
drwxrwxr-x root ftp rootbject_r:public_content_rw_t commpany
Public_content_rw_t :公共策略可以读写目标目录
*******************************************
8、防火墙的设置:红色为添加部分,开20:21 端口
************************************************
…..前面省略
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp –dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
****************************************************
9、其他命令:
Chkconfig vsftpdon
Service vsftpd restart
Service iptables restart
在linux下或者windows下测试。
10、备注:
1)如果本机正常,但是客户机出现:No route to host,关闭iptables正常
*********************************************************
iptables 导致vsftp ftp: connect: No route to host
如果在Linux上面有启动iptables,而且您的Linux有多个IP,例如一個是 eth0的192.168.1.2,另一個是ADSL ppp0的IP,則有些Client端的Windows XP或者不管有沒有启动Firewall都会连不到,在Linux客户端上用ftp指令来连接,登录后,输入dir(or ls)查看目录提示:ftp: connect: No route to host
则将/etc/sysconfig/iptables-config中的IPTABLES_MODULES=””改成 IPTABLES_MODULES=”ip_nat_ftp ip_conntrack_ftp”,重新启动iptables,然后进行FTP连接就正常了!
CentOS4.4/RHEL5.(1-3)载入处理NAT的部分,对只有一個IP且是public IP的主机应该没有什么问题,但是如果存在多个IP则会出现问题。
*****************************************************************
2)使用Linux客户端登陆时get文件提示如下:
***********************************************
226 File send OK.
225 No transfer to ABOR.
************************************************
目录没有写权限,退出ftp ,输入cd /tmp等有写权限的目录再试。
3)当测试有问题进行调整后,别忘了把调整过的服务和VSFTP服务重启下。