安装ftp

yum -y install vsftpd

    设置开机自启

systemctl enable vsftpd.service

centos7 离线安装yum centos7离线安装ftp_centos7 离线安装yum

     启动

systemctl start vsftpd.service

  

centos7 离线安装yum centos7离线安装ftp_FTP_02

 


     ftp相关命令:

         启动:systemctl start vsftpd.service

         重启:systemctl restart vsftpd.service

         停止:systemctl stop vsftpd.service

         查看状态:systemctl status vsftpd.service

 

修改selinux

      外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。

      修改selinux:

      执行以下命令查看状态:

getsebool -a | grep ftp

centos7 离线安装yum centos7离线安装ftp_vsftpd_03

      执行上面命令,再返回的结果看到两行都是off,代表没有开启外网的访问,分别执行

setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on

配置vsftpd

       创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录。创建之后所有虚拟用户使用这个系统用户访问文件。

useradd vsftpd -d /home/vsftpd -s /bin/false

 

centos7 离线安装yum centos7离线安装ftp_FTP_04

     创建这个虚拟用户

vi /etc/vsftpd/ftpusers.conf

     添加内容:

user
123456

centos7 离线安装yum centos7离线安装ftp_FTP_05

      这就创建了虚拟用户user,密码123

      根据这个文件创建数据库文件,并设置数据库文件的访问权限

db_load -T -t hash -f /etc/vsftpd/ftpusers.conf /etc/vsftpd/ftpusers.db
chmod 600 /etc/vsftpd/ftpusers.db

     接下来我们设置启用这个数据库文件

vi /etc/pam.d/vsftpd

      注释当前文件所有内容,加入以下内容

auth        required    /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account     required    /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

centos7 离线安装yum centos7离线安装ftp_FTP_06

    创建虚拟用户主目录,目录名必须和我们的虚拟用户名称一样,上面我们创建的虚拟用户为 user

mkdir -p /home/vsftpd/user

    创建虚拟用户配置文件

mkdir /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/user

centos7 离线安装yum centos7离线安装ftp_vsftpd_07

      这里vi编辑的文件名称必须与虚拟用户名一致,我们上面创建的虚拟用户为user,然后加入以下内容:

local_root=/home/vsftpd/user/
write_enable=YES

centos7 离线安装yum centos7离线安装ftp_liunx_08

      注:这里我们设定主目录为我们创建的虚拟用户主目录 /home/vsftpd/user

 

 

       修改主配置文件。修改前先备份

cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf_bak

centos7 离线安装yum centos7离线安装ftp_liunx_09

      修改

vi /etc/vsftpd/vsftpd.conf

      更改

anonymous_enable=NO

     去掉这些的注释

chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES

     在文件最后增加

guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES

     配置介绍:

            anonymous_enable=NO 禁止匿名用户登录
            chroot_local_user=YES 禁止用户访问除主目录以外的目录
            ascii_upload_enable=YES ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能
            guest_enable=YES 启动虚拟用户
            guest_username=vsftpd 虚拟用户使用的系统用户名
            user_config_dir=/etc/vsftpd/userconf 虚拟用户使用的配置文件目录
            allow_writeable_chroot=YES 最新版的vsftpd为了安全必须用户主目录(也就是/home/vsftpd/user)没有写权限,才能登录,或者使用allow_writeable_chroot=YES

     重启服务,使配置生效

systemctl restart vsftpd

 

设置防火墙

         开放ftp服务

firewall-cmd --permanent --add-service=ftp

        重启防火墙

systemctl restart firewalld.service

centos7 离线安装yum centos7离线安装ftp_centos 7_10

浏览器连接:ftp://IP

centos7 离线安装yum centos7离线安装ftp_FTP_11

输入我们配置的虚拟用户名密码

centos7 离线安装yum centos7离线安装ftp_centos 7_12

 到此ftp安装完成!