CentOS FTP服务搭建过程记录
2015-08-27 15:07
776 查看
一、前提
系统已经安装完毕,安装过程中直接安装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等端口是否开放)
五、参考资料
http://wenku.baidu.com/link?url=0tnrY0FXzYwH-EJ7yK69LaFEHmbE3xK0E-IUfi7kkms8arC3c8yxmUf_Et0PPBn2l9mZlffDqC1dcJ0AIuRs5pWFi90S0_6qx66ugLzUxZqhttp://jingyan.baidu.com/article/03b2f78c771db45ea237ae28.html
http://bguncle.blog.51cto.com/3184079/957315/
http://shuany.iteye.com/blog/850568
相关文章推荐
- Solr 在Linux系统中的产品化安装
- linux压缩文件——解压方法
- linux LCD驱动(二)--FrameBuffer
- centos上libreoffice+unoconv安装步骤,实现word转pdf
- linux系统——线程
- Centos下useradd,groupadd等的使用方法
- Linux系统——访问U-BOOT环境变量
- 菜鸟学Linux命令:bg fg jobs命令 任务管理
- linux系统——软链接、硬链接
- Linux手动安装TMUX 编译 以及遇到的问题
- linux系统——日志文件系统及性能分析
- linux中fork()函数详解(原创!!实例讲解)
- Linux系统——常见的系统调用
- Linux下使用gdb调试C/C++程序
- linux系统——hosts文件修改
- linux系统——fread()与read()函数族区别
- 每天一个linux命令(1):ls命令
- linux系统——etc下的profile文件
- linux系统——etc下的passwd 文件
- linux系统——etc下的group 文件