zoukankan      html  css  js  c++  java
  • 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

     (4)linux中vsftp修改默认路径

    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



  • 相关阅读:
    关于JavaWeb项目汉字乱码问题
    使用pipenv
    python使用imap-tools模块下载邮件中的附件
    Python新增功能, 函数的参数类型提示.
    centos83+django3.1+ASGI+nginx部署.
    python3.9 pip本身的升级
    windows+django3.1+ASGI+nginx部署
    k8s 单节点开发环境用hostPath配置mysql的持久化存储
    Rust的设计中为什么要区分不可变变量和常量?
    Vscode + Python + Django开发环境常见问题
  • 原文地址:https://www.cnblogs.com/huanglinxin/p/8781994.html
Copyright © 2011-2022 走看看