Cenos7---FTP服务器搭建
NFS:Network File System 是已故的Sun公司制定的用于分布式访问的文件系统,它的本质是文件系统。
主要在Unix系列操作系统上使用,基于TCP/IP协议层,可以将远程的计算机磁盘挂载到本地,像本地磁盘一样操作。
samba是Unix(linux)系统下实现的 Windows文件共享协议-CIFS,由于Windows共享是基于NetBios协议,是基于Ethernet的广播协议,
在没有透明网桥的情况下(如VPN)是不能跨网段使用的。它主要用于unix(linux)和windows系统进行文件和打印机共享,也可以通过samba套件中
的程序挂载到本地使用。
FTP的目的是在Internet上共享文件而发明的一种协议,基于TCP/IP。世界上绝大多数系统都会有支持FTP的工具存在,通用性很强。
目前少有人把VPS修改成支持FTP组件的形式,主要是因为FTP一开始就不是为了文件系统而设计的。
使用SMB相对于FTP有何优点:
A.只有通过SMB才能在两个方向上传输数据。
B.只有SMB与客户端建立了两个并行连接,从而使数据传输更快。
C.因为SMB使用TCP,而FTP使用UDP,所以SMB比FTP更可靠。
D.SMB客户端可以与服务器建立长期连接。
三种协议虽然都可以支持文件共享,但是其功能点和侧重点上面各有所不同,协议格式不同。Authentication(鉴定)也就是你说的登陆方式
也会随着协议的内容也有所不同。标准的FTP协议的登陆密码是用明文传输的,没有加密,这会有很大的安全隐患,
目前有FTPs(FTP on SSL/TLS)和sFTP(SSH FTP)等基于通信层进行加密的FTP协议,这样会有更好的安全性。
NFS的鉴定机制是基于IP地址的,没有密码这种东西。是控制本地映射的用户权限来控制访问者的权限。
(1)yum -y install vsftpd 安装ftp服务器,,打开/etc/vsftpd/vsftpd.conf,在末尾添加
最大最小端口号是随机产生的,不一定跟我的一样,需要自己测试得出,关闭防火墙测了好几次得出的。该端口添加防火墙规则时要用。
pasv_enable=YES //开启PASV模式 pasv_min_port=17500 //最小端口号 pasv_max_port=20080 //最大端口号 pasv_promiscuous=YES
(2)添加防火墙规则,允许ftp服务器20,21端口访问,PASV端口。
ftp有两种模式(主动和被动模式)。主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端口进行用户验证及管理,差别在于传送数据的方式不同,PORT模式的FTP服务器数据端口固定在20,而PASV模式则在1025-65535之间 随机。
了解ftp原理后,接下来就去设置iptables规则。我自己服务器上默认INPUT规则是DROP,OUTPUT是ACCEPT。
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT -A INPUT -p tcp -m multiport --dports 17500:20000 -j ACCEPT
防火墙查看、添加、删除规则:
查看:
iptables -nvL --line-number
添加:
iptables -A INPUT -s 192.168.1.5 -j DROP
iptables -I INPUT 3 -p tcp --dport 8080 -j ACCEPT
删除:
iptables -D INPUT -s 192.168.1.5 -j DROP
可参考链接:https://www.cnblogs.com/bethal/p/5806525.html
(3)重启vsftpd、iptables,局域网中访问 ftp://ip地址/
service iptables restart
service vsftpd restart
linux中vsftp修改默认路径
如果是默认安装vsftpd的话,以下是一些文件的位置约定:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 启动脚本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM认证文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件
/etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件
/var/ftp ---- 匿名用户主目录
/var/ftp/pub ---- 匿名用户的下载目录
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/
chroot_local_user=YES
anon_root=/
local_root表示使用本地用户登录到ftp时的默认目录
anon_root表示匿名用户登录到ftp时的默认目录
你上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。
另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount --bind来挂载需要的目录。
最后重启服务: service vsftpd restart
ftp服务器安装不懂可以参考以下链接:
https://www.oschina.net/question/723831_223753
https://www.cnblogs.com/changbin/p/5830395.html