目录

一、 配置本地光盘yum源并安装vsftpd

二、 关闭防火墙及SElinux(通过脚本实现)

三、 启动vsftpd服务并设置开机自动启动

四、 复制光盘中的软件包复制至ftp的/var/ftp/pub目录并创建repodata

五、 通过本地局域网其它主机访问本ftp


一、 配置本地光盘yum源并安装vsftpd

  1. 挂载光盘至本地/mnt目录下
    • a. 在虚拟机设置中选择ISO映像文件,并在设备状态中勾选已连接、启动时连接。
      通过ftp创建本地yum仓库_第1张图片
    • b. 设置完成后,开启虚拟机,右下角图标会显示当前使用的ISO镜像
      通过ftp创建本地yum仓库_第2张图片
    • c. 挂载光盘
      通过ftp创建本地yum仓库_第3张图片
  2. 配置本地repo文件
    通过ftp创建本地yum仓库_第4张图片
  3. 清除本地yum缓存并测试yum源指向文件是否正常
    通过ftp创建本地yum仓库_第5张图片
  4. 安装vsftpd
    通过ftp创建本地yum仓库_第6张图片

    二、 关闭防火墙及SElinux(通过脚本实现)

  5. CentOS 6 关闭防火墙及SElinux脚本
    #!/bin/bash
    #
    #关闭SElinux
    setenforce 0 &> /dev/null
    echo "selinux is `getenforce`"
    #判断当前SElinux开机开启状态,如果不是disabled则设置为disabled
    if ! grep "disabled" /etc/selinux/config &> /dev/null;then
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    fi
        echo "SElinux 已取消开机启动"
    #检查当前防火墙状态,如为关闭状态则清除防火墙规则并关闭防火墙并取消开机自动启动
    if service iptables status &> /dev/null;then
        chkconfig iptables off &> /dev/null
        echo "防火墙现为关闭状态"
    else
        iptables -F &> /dev/null
        service iptables stop &> /dev/null
        chkconfig iptables off &>/dev/null
        echo "防火墙已关闭并禁止开机启动"
    fi

  1. CentOS 7系统关闭防火墙及SElinux脚本
#!/bin/bash
#
#关闭SElinux
setenforce 0 &> /dev/null
echo "selinux is `getenforce`"
#判断当前SElinux开机开启状态,如果不是disabled则设置为disabled
if ! grep "disabled" /etc/selinux/config &> /dev/null;then
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
fi
    echo "SElinux 已取消开机启动"
#检查当前防火墙状态,如为关闭状态则清除防火墙规则并关闭防火墙并取消开机自动启动
if systemctl status firewalld.service &> /dev/null;then
    systemctl disable firewalld.service &> /dev/null
    echo "防火墙现为关闭状态"
else
    iptables -F &> /dev/null
    systemctl stop firewalld.service &> /dev/null
    systemctl disable firewalld.service &>/dev/null
    echo "防火墙已关闭并禁止开机启动"
fi

三、 启动vsftpd服务并设置开机自动启动

通过ftp创建本地yum仓库_第7张图片
CentOS 6 系统
  启动服务:service vsftpd start
  设置开机自动启动:chkconfig vsftpd on
CentOS 7 系统
  启动服务:systemctl start vsftpd.service
  设置开机自动启动:systemctl enable vsftpd.service
服务启动后查看服务状态(CentOS 6 及CentOS 7通用):
通过ftp创建本地yum仓库


四、 复制光盘中的软件包复制至ftp的/var/ftp/pub目录并创建repodata

  1. 进入/var/ftp/pub目录,创建两个目录6和7
    ~]# mkdir 6 7
    ~]# ls /var/ftp/pub
    6  7

    分别挂载CentOS 6的两张光盘,复制Packages目录至文件至/var/ftp/pub/6目录中

    ~]# cp /mnt/* /var/ftp/pub/6

    挂载CentOS 7 的光盘,把光盘文件复制Packages目录至/var/ftp/pub/7目录中

    ~]# cp /mnt/* /var/ftp/pub/7
  2. 创建repodata
    通过ftp创建本地yum仓库_第8张图片
    创建repodata之后/var/ftp/pub目录下的文件结构
    通过ftp创建本地yum仓库_第9张图片

    五、通过本地局域网其它主机访问本ftp

    测试ftp服务访问正常
    通过ftp创建本地yum仓库_第10张图片

修改本地yum源为该ftp地址
通过ftp创建本地yum仓库_第11张图片

清除本地yum缓存并重新创建缓存
通过ftp创建本地yum仓库_第12张图片
安装软件测试
通过ftp创建本地yum仓库_第13张图片

注意:

  1. /var/ftp/pub目录的权限中,other的权限一定要为r_x,否则匿名用户无法访问该文件。
  2. 默认创建的vsftpd服务,匿名用户拥有读写删除权限,可在/etc/vsftpd/vsftpd.conf文件中对匿名用户做限制,具体配置如下:
    anonymous_enable=YES
      开启匿名用户访问权限,默认YES
    anon_upload_enable=NO
      控制匿名用户的上传操作,生效要依赖于write_enable=YES
    anon_mkdir_write_enable=NO
      匿名用户创建目录的权限
    anon_other_write_enable=NO
      匿名用户的删除及重命名权限
    通过ftp创建本地yum仓库_第14张图片