zoukankan      html  css  js  c++  java
  • centos 7 linux系统默认ftp安装配置和部署(详细讲解)

    小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路
    高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢!

    一、声明:

      本文采用操作系统版本: Centos 7 Linux系统  
      版本源:CentOS-7-x86_64-DVD-1708.iso
      官网下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso
      安装包选择:最小安装包
      用户无,只有root用户。

    二、安装 vsftpd

      2.1 检测系统是否已安装 vsftpd   
        方法一:[root@localhost ~]# rpm -q vsftpd  
        方法二:[root@localhost ~]# vsftpd -v
      2.2 安装 vsftpd:
        [root@localhost ~]# yum -y install vsftpd
      2.3 查看 vsftpd 安装位置: 
        [root@localhost ~]# whereis vsftpd

    三、启动 vsftpd

      启动:[root@localhost ~]# systemctl start vsftpd.service
      设置开机自启: [root@localhost ~]# systemctl enable vsftpd.service

        系统显示如下信息:Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

        思考:小生将本段信息进行了颜色标记,从中可以看出,如果想让一个进程开机自启动,使用 systemctl enable XXXX.service 命令就是

        让这个程序自己的启动配置创建一个链接到系统的启动配置文件下,系统开机的时候就能运行 /usr/lib/systemd/system/ 文件下的配置文件对应的程序。

        有时间可以去那里窥探一下研究一下。    

    四、配置文件

      4.1 配置文件 /etc/vsftpd/vsftpd.conf

        anonymous_enable=NO # 不允许匿名访问,禁用匿名登录
        chroot_local_user=YES # 启用限定用户在其主目录下
        use_localtime=YES # 使用本地时(自行添加)
        chroot_list_enable=YES
        local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
        allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
        xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
        local_umask=022 # 设置本地用户默认文件掩码022
        # FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022

      - 注意:vsftpd 配置文件如果修改,需要重新启动 vsftpd :systemctl restart vsftpd.service

    4.2 防火墙设置

      使用 dos 窗口进行 ping linux i地址
      如果成功会出现:ftp 链接成功的信息,一般第一次配置的情况下,系统的防火墙是开启的,因此需要关闭防火墙或者设置防火墙的配置

        查看防火墙状态:
        [root@localhost ~]# systemctl status firewalld.service

        一般情况下,如果外部无法链接 vsftp ,排除网络的问题,很有可能是防火墙在作祟。

        开启防火墙:
        [root@localhost ~]# systemctl start firewalld.service
        关闭防火墙:
        [root@localhost ~]# systemctl stop firewalld.service
        重启防火墙:
        [root@localhost ~]# systemctl restart firewalld.service
        禁止开机启动:
        [root@localhost ~]# systemctl disable firewalld.service
        开启开机启动:
        [root@localhost ~]# systemctl enable firewalld.service

        说明:如果你不愿意关闭防火墙,需要防火墙添加FTP服务。
        firewall-cmd --permanent --zone=public --add-service=ftp
        firewall-cmd --reload

    4.3 检测是否成功链接

      4.3.1 先在 linux 系统上进行检测:[root@localhost ~]# ftp localhost(本主机名称)

      出现提示登录用户名,小生使用匿名用户登录 anonymous(密码未设置,所以为空),输入 ls 命令可显示信息,效果如图:

        

      4.3.2 使用 windows ping 一下 linux 服务器,检查是否能联网

        从下图可以看出,windows 能与 linux 网络联通,当可以正常联通网络再进行 ftp 链接测试,

        也可使用 root 帐号进行登录,root 帐号登录之后可以操作系统内任意文件。以下章节列出可以链接之后通过 ftp 软件链接后出现的一些常见问题解决方案。

        

    4.4 常见 ftp 链接问题

      链接 ftp 的时候如果出现无法访问目录列表问题:
      查看ftp的Selinux状态:
      [root@localhost ~]# sestatus -b | grep ftp
      将状态改为on:
      [root@localhost ~]# setsebool -P tftp_home_dir on (注意:P为大写)
      [root@localhost ~]# setsebool -P ftpd_full_access on  (注意:P为大写) 

    创作不易,感谢打赏关注。

  • 相关阅读:
    2018.11.26
    JS数组
    JS2018.12.26
    手机游戏客户端架构设计
    IAP应用内购买
    cocos2dx如何优化内存的应用
    Homebrew
    OS X 文档
    Apple推送通知服务教程
    ajax分页
  • 原文地址:https://www.cnblogs.com/mujingyu/p/7677273.html
Copyright © 2011-2022 走看看