CentOS FTP服务搭建过程记录

一、前提

系统已经安装完毕,安装过程中直接安装ftp相关服务。本环境为VMware10 + CentOS6.5×64。


二、过程记录

1. 开启vsftp服务(vsftp后面的d代表后台服务)

>>service vsftpd start 


2. 查看vsftp状态

>>service vsftpd status

显示正在运行,即启动成功


3. 建立ftp专用用户

>>adduser -d /ftp -g ftp -s /sbin/nologin ftp_ppp
>>passwd ftp_ppp


使用命令(adduser)添加ftp_ppp用户,不能登录系统(-s /sbin/nologin),自己的文件夹在(-d /ftp)),属于组ftp(-g ftp),

这样ftp登录后文件夹就是在根目录的/ftp下


4. 更改/ftp目录的权限

>>chmod 777 /ftp


5. 在window中ping,并且使用ftp命令

ftp 192.168.0.1

显示"连接到192.168.0.1"即为可连接,不成功见问题记录


三、问题记录

1. vsftpd不能启动

centos中使用命令:

>>service vsftpd start

报错:为vsftpd启动vsftpd:500 OPPS:cannot read config file:/etc/vsftpd/vsftpd.conf

解决:故障原因为没有激活vsftpd,并设置其运行级别

>>su  使用root用户登录

>>chkconfig --level 35 vsftpd on
>>service vsftpd start


2. cmd中ftp连接时报错"500 OOPS: cannot locate user entry:ftpsecure"

>> vi /etc/vsfptd/vsftpd.conf

注释 nopriv_user=ftpsecure 这句


3. 建立完用户后,cmd中使用用户连接,报错"500 OOPS: cannot change directory:/home/ftp_ppp"

>> vi /etc/selinux/config 

将selinux=enforcing  改为disabled,然后reboot重启服务器

参考:http://www.server110.com/vsftpd/201402/6312.html


4. cmd与LeapFTP中文乱码问题(暂无良好解决方案,待完善)

查看系统字符集
>>echo $LANG
修改默认字符集为gb2312

>>vi /etc/sysconfig/i18n
把里面第一行的UTF-8修改为gb2312

激活配置文件
>>source /etc/sysconfig/i18n
(修改后本机可能出现乱码,改方案有待商榷)

5. 开启LINUX服务器防火墙后,window中不能正常登录

首先可关闭防火墙,确定是否为防火墙的原因,但不推荐一直关闭防火墙,推荐以下的解决方案。

>>vi /etc/sysconfig/iptabels
如果没有下面的代码,加入。意思为开放系统的21、22端口。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
这是常规设置,在防火墙配置文件中开放端口,但是还是不能正常访问到FTP服务器。

首先要了解概念:
FTP支持两种模式:一种方式叫做Standard (也就是 PORT方式,主动com方式);
一种是 Passive (也就是PASV,被动方式)。 
Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。

Port模式FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

解决方案:
首先,编辑vsftpd.conf,最后加入
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

其次,编辑iptables,在上述21,22端口后加入

-A INPUT -p tcp --dport 6000:7000 -j ACCEPT


重启防火墙,使配置生效:

>>service iptables restart

重启vsftpd服务
>>service vsftpd restart


四、小知识记录

1. ftp上传默认路径在,/var/ftp/pub/  ,比如匿名用户的默认路径就是这个,而其他用户可指定目录。

2. vi退出,esc,然后shift+q

3. netstat -ntlp 可以查看启动的TCP端口及相应进程
    netstat -nulp可以查看启动的UDP端口及相应进程

    (主要用第一个命令查看21,22等端口是否开放)


五、参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值