Liunx(ubuntu)环境下FTP安装

1.FTP安装

        1.安装

        # yum install -y vsftpd

        # mkdir /home/vsftpd

        2.启动

        # systemctl start vsftpd.service

        3.查看端口是否启动成功

        # ss -anp | grep 21

        4.停止ftp,进行配置修改

        # systemctl start vsftpd.service

2.修改配置文件

        1.ftp的配置文件/etc/vsftpd/vsftpd.conf

        # vi /etc/vsftpd/vsftpd.conf

        2.显示行号

        #:set nu

        3.#修改配置 13 行 不允许匿名访问(不登录默认访问某目录/var/ftp),要用户名和密码

         # anonymous_enable=NO

        4.#修改配置83行  允许ascii文件上传

         # ascii_upload_enable=YES

        5.#修改配置84行 允许ascii文件下载

         # ascii_download_enable=YES

        6.#修改配置87行

         # ftpd_banner=Welcome to blah FTP service.

        7.#修改配置101,102,104行 将用户限制在为其配置的主目录

         # chroot_local_user=YES

         # chroot_list_enable=YES

         # chroot_list_file=/etc/vsftpd/chroot_list

        8.#添加下列内容到vsftpd.conf末尾

         # use_localtime=YES

        9.# 监听端口

         # listen_port=20020

        #  idle_session_timeout=300

        10.# 设置启用虚拟用户功能

         # guest_enable=YES

        11.# 制定宿主用户名(我们后续需要为我们的系统增加该用户)

         # guest_username=ftpuser

        12.# 制定虚拟用户配置文件放置文件夹(需要我们自己建立)

         # user_config_dir=/etc/vsftpd/vuser_conf

        13.# 允许写

         # allow_writeable_chroot=YES

         # data_connection_timeout=1

         # virtual_use_local_privs=YES

        # pasv_min_port=40000

      # pasv_max_port=40010

      # accept_timeout=5

        # connect_timeout=1

        #保存文件

         # :wq!

3.配置ftp用户

        1.# 新建一个ftpuser组

        # groupadd ftpuser

        2.# 新建一个ftpuser账号,并且该账号不需要登录服务器,设定家目录在 /home/vsftpd

        # useradd -g ftpuser -M -d /home/vsftpd -s /sbin/nologin ftpuser

        3.# 设置用户 ftpuser的密码

        # passwd ftpuser

        4.# 把 /home/vsftpd 的所有权给ftpuser.root

        # chown -R ftpuser:ftpuser /home/vsftpd

        5.# 在家目录下先创建一个文件夹,作为后续ftp账号的默认目录

        # mkdir -p  /home/vsftpd/jxpwuser

        6.# 设置目录权限为755

        # chmod 755 -R /home/vsftpd

4.ftp的登录用户和密码设置

        1.# 进入/etc/vsftpd/目录

        # cd /etc/vsftpd/

        2.# 创建用户密码信息文件

        # vi vuser_passwd

        3.#编辑如下内容,创建虚拟账户信息,奇数行为用户名,偶数行为密码(自己根据需求设置)

        # jxpwuser

        # jxpwuser

        4.# 保存退出

        # :wq!

        5.# 生成虚拟用户数据文件

        # db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db

        6.# 将该目录的权限改成600

        # chmod 600 /etc/vsftpd/vuser_passwd.db

5.编辑pam认证文件

        1.# 查看系统位数

        # getconf LONG_BIT

        2.# 备份pam认证文件

        # mv  /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bak

        3.# 新建pam认证文件

        # vi /etc/pam.d/vsftpd

        4.# 根据自己的操作系统选2行,不要全部都填写哟

        注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虚拟用户的db文件,这里不要加扩展名。

        5.# 系统为32位:(根据自己需求设置)

        # auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account

        # required pam_userdb.so db=/etc/vsftpd/vuser_passwd

        6.# 系统为64位:(根据自己需求设置)

        # auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

        # account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

6.创建虚拟用户配置目录

        1.#创建上述配置文件中配置的虚拟用户文件夹

        # mkdir -p /etc/vsftpd/vuser_conf

        2.#切换进入 /etc/vsftpd/vuser_conf

        # cd  /etc/vsftpd/vuser_conf

        3.#创建虚拟用户配置文件,文件名称要与虚拟用户名称相同,这里我们配置两个虚拟用户就创建两个配置文件

        # touch jxpwuser

        4.#编辑jxpwuser

        # vi jxpwuser

        5.#写入以下内容

        # local_root=/home/vsftpd/jxpwuser

        # write_enable=YES

        # anon_umask=022

        # anon_world_readable_only=NO

        # anon_upload_enable=YES

        # anon_mkdir_write_enable=YES

        # anon_other_write_enable=YES

        6# 保存退出

        # :wq!

7.创建chroot_list

        1.# 进入目录/etc/vsftpd

        # cd /etc/vsftpd

        2.#创建使当前配置的虚拟用户允许访问的文件列表

        # vi chroot_list

        3.#写入虚拟用户名(根据自己需求填写)

        # jxpwuser

8.防火墙,SELinux等配置

        1.#  SELINUX不对vsftp不做任何限制

        # setsebool -P ftpd_full_access on

        注:以下为系统的两个防火墙,部署时需要确认是哪一个防火墙,使用对应命令即可

        2.# 防火墙设置 IPtables 的设置方式:

        # vi /etc/sysconfig/iptables

        3.#编辑iptables文件,添加如下内容,开启21端口

        # -A INPUT -m state --state NEW -m tcp -p tcp --dport 20020 -j ACCEPT

        # -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT

        4.#firewall 的设置方式,以下指令

        # firewall-cmd --zone=public --add-service=ftp --permanent

        # firewall-cmd --zone=public --add-port=20020/tcp --permanent

        # firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent

        # firewall-cmd --reload

9.查看ftp状态、重启、停止、设置开机启动

        1.#启动

        # systemctl start vsftpd.service

        2.#重启

        # systemctl restart vsftpd.service

        3.#停止

        # systemctl stop vsftpd.service

        4.#查看状态

        # systemctl status vsftpd.service

        5.#设置开机启动

        # systemctl enable vsftpd.service

10.修改端口

        1.#停止服务

        # systemctl stop vsftpd.service

        2.#编辑文件

        # vi /etc/services

        3.#找到ftp选项并将21修改成你设置的端口

        # 21 is registered to ftp, but also used by fsp

        # ftp 20020/tcp

        # ftp 20020/udp fsp fspd

        4.重启vsftp服务

        # systemctl restart vsftpd.service

        5.使用netstat -utlpn | grep vsftp命令查看设置的端口,确认是否成功

        # netstat -utlpn | grep vsftp

你可能感兴趣的:(linux,运维,服务器,ubuntu)