FTP——安装配置(Linux Centos)
一、了解ftp
1.定义:ftp是一种建立在TCP上的文件传输协议,可以使主机间共享文件,使用TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。
2.工作模式:(相对于ftp-server根据数据传输通道连接由谁发起)
主动模式:命令端口:21 数据端口:20
防火墙要求:大于1024的端口和21、20 可以通信
被动模式:命令端口:21 数据端口:随机
注意:以下为Centos6.4系统环境 (Linux查看系统版本:cat /etc/issue )
二、安装(yum)
1.服务器安装
yum install vsftpd
2.客户端安装
Linux: yum install ftp
Windows:可以用的很多 (eg:FileZilla 下载地址:http://www.pc6.com/softview/SoftView_32448.html)
三、配置
配置文件所在目录: /etc/vsftpd/vsftpd.conf
1.原配置文件
anonymous_enable=YES #允许匿名用户登录 改为anonymous_enable=NO
local_enable=YES #允许本地登录
write_enable=YES #允许写,如需上传,则必须
local_umask=022 #设置本地用户生成文件的掩码为022
dirmessage_enable=YES #允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
xferlog_enable=YES #打开日志记录
connect_from_port_20=YES #启用FTP数据端口的连接请求
xferlog_std_format=YES #标准日志格式
listen=YES #监听/被动模式
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
新添加(原文件注销的内容)
anon_upload_enable=YES #允许虚拟用户和匿名用户上传
anon_mkdir_write_enable=YES #允许匿名用户有创建目录的权利
xferlog_file=/var/log/vsftp.log #自定义日志文件的保存路径和文件名
idle_session_timeout=600 #空闲连接超时
data_connection_timeout=120 #连接超时
ftpd_banner=Welcome to ChinaRise FTP service #欢迎信息
chroot_local_user=YES
chroot_list_enable=YES #设置本地用户登录后不能切换到自家目录以外的别的目录
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文
ps:注意每行后面不要有空格否则会报错!!!
2.新添加可以登录的用户
方法一:/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin 用户名(eg:test)
方法二:1.useradd(adduser) 用户名(eg:test)
2.查看:more /etc/passwd
3.将所加的用户名后面改为:用户名:501:50::/opt/test_ftp:/sbin/nologin (eg:test:x:501:50::/opt/test_ftp:/sbin/nologin)指定了共享文件夹为test_ftp
ps:确定/opt/test_ftp路径下的文件夹的存在(test_ftp为文件夹)
3.设置密码
passwd 用户名(eg:test)
4.在配置文件里面配置的chroot_list_file=/etc/vsftpd/vsftpd.chroot_list里面加入用户名
vim /etc/vsftpd/vsftpd.chroot_list(新建文件) 加入一行用户名(eg:test)
四、配置被动模式(pasv模式)
pasv_enable=yes 开启pasv模式
pasv_min_port=10000 pasv最小端口号
pasv_max_port=10010 pasv最大端口号
ps:配置后记得重启应用:/etc/init.d/vsftpd restart
五、防火墙配置(配置文件位置:/ect/sysconfig/ipatbles )
主动模式在配置文件里面加入:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
被动模式在配置文件里面加入:
-A INPUT -p tcp -m tcp --dport 10000:10010 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
修改方法:
1.编辑配置文件:vim /ect/sysconfig/ipatbles
ps:此方法配置后记得重启应用:/etc/init.d/iptables restart
2.命令行加入:iptables + 配置语句(eg:ipatable -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT)
ps:此方法是一次性的并没有真正的在配置文件中加入语句,重启应用时会读取配置文件,改添加失效
六、测试
在安装ftp的pc端输入:
1.ftp ftp服务器端的ip地址(eg:ftp 192.168.0.163)
2.输入设置的用户名(eg:test)
3.输入设置的密码
如果成功会显示
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.