Linux 安装ftp

1、安装vsftpd

yum install -y vsftpd

执行以下命令设置FTP服务开机自启动

systemctl enable vsftpd.service

执行以下命令启动FTP服务

systemctl start vsftpd.service

执行以下命令查看FTP服务端口

netstat -antup | grep ftp

 

 

 

2、设置安全组

配置 21、20 端口可以被其他主机访问

3、配置vsftpd

vsftpd安装后默认开启了匿名FTP的功能,使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,但没有权限修改或上传文件。用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝,但可以在vsftpd里配置用户账号和密码登录。以下操作以在vsftpd 里配置用户账号和密码登录FTP服务器为例。

  1. 执行以下命令创建“ftpadmin”用户。

    此处“ftpadmin”用户为示例,可根据实际情况创建相应的用户。

    useradd ftpadmin

  2. 执行以下命令并按照提示设置“ftpadmin”用户密码。

    passwd ftpadmin

  3. 执行以下命令创建供FTP使用的文件目录,此处以“/var/ftp/work01”为例。

    mkdir /var/ftp/work01

  4. 执行以下命令将创建的文件目录所有者改为用于登录FTP的本地用户。

    chown -R ftpadmin:ftpadmin /var/ftp/work01

  5. 修改“vsftpd.conf”配置文件。
    1. 执行以下命令打开配置文件“vsftpd.conf”。

      vi /etc/vsftpd/vsftpd.conf

    2. 按i键进入编辑模式。
    3. 修改打开的“vsftpd.conf”文件。

      可根据实际需求选择将FTP配置为主动模式或者被动模式。如果华为云上的服务器需要通过公网IP地址访问华为云上的实例搭建的FTP服务器时,需要将FTP服务器配置为被动模式。

      • 主动模式需要配置的参数如下:
        #设置以下参数,不允许匿名登录FTP服务器,允许本地用户登录FTP服务器,并指定FTP本地用户使用的文件目录。
        anonymous_enable=NO              #不允许匿名登录FTP服务器
        local_enable=YES                 #允许本地用户登录FTP服务器
        local_root=/var/ftp/work01       #FTP本地用户使用的文件目录
        
        #设置以下参数,限制用户只能访问自身的主目录。
        chroot_local_user=YES                      #所有用户都被限制在其主目录
        chroot_list_enable=YES                     #启用例外用户名单
        chroot_list_file=/etc/vsftpd/chroot_list   #例外用户名单
        allow_writeable_chroot=YES           

在“/etc/vsftpd/”目录下创建“chroot_list”文件。
touch chroot_list

“chroot_list”文件是限制在主目录下的例外用户名单。如果需要设置某个用户不受只可以访问其主目录的限制,可将对应的用户名写入该文件。如果没有例外也必须要有“chroot_list”文件,内容可为空。

执行以下命令重启vsftpd服务使配置生效。
systemctl restart vsftpd.service

4、客户端测试

 

 

 

5、FTP协议的主动模式和被动模式的区别

参考:https://www.cnblogs.com/rainman/p/11647723.html

 

posted @ 2019-06-10 19:01  酸奶加绿茶  阅读(2132)  评论(0编辑  收藏  举报