zoukankan      html  css  js  c++  java
  • CentOS 服务ftp(vsftpd)

    1、检查是否已经安装vsftpd

    yum list installed | grep vsftpd

    2、安装vsftpd

    yum install -y vsftpd

    3、检查vsftpd

    systemctl status vsftpd.service

    4、设置ftp服务自动启动

    开启自动启动
    systemctl enable vsftpd.service
    关闭自动启动
    systemctl disable vsftpd.service

    5、启动ftp服务

    systemctl start vsftpd.service

    6、防火墙端口设置

    查看zone信息,一般是public
    firewall-cmd --get-active-zones
    永久打开21端口,--zone=public参数可以省略
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    添加ftp服务
    firewall-cmd --permanent --zone=public --add-service=ftp

    添加ftp服务后,一般可以不用添加21端口,这个端口会被默认打开,在/etc/services文件中,这个端口已经被注册给ftp服务使用
    如果要修改缺省的ftp21端口,需要修改/etc/services里的注册端口号,并且vsftpd的配置文件vsftpd.conf需要修改listen_port的端口号
    重新加载防火墙配置
    firewall-cmd --reload

    7、添加ftp用户

    添加用户xu.dm.ftp,在root组,目录是/home/data,禁止登录,只能ftp
    useradd -g root -d /home/data -s /sbin/nologin xu.dm.ftp
    设置密码
    passwd xu.dm.ftp

    8、设置ftp权限

    和SElinux相关,一般情况下都是直接把SELinux禁用了
    setsebool -P ftpd_full_access on
    vi /etc/selinux/config 
    # This file controls the state of SELinux on the system. 
    # SELINUX= can take one of these three values: 
    # enforcing - SELinux security policy is enforced. 
    # permissive - SELinux prints warnings instead of enforcing. 
    # disabled - SELinux is fully disabled. 
    SELINUX=enforcing 
    #SELINUX=disabled 
    # SELINUXTYPE= type of policy in use. Possible values are: 
    # targeted - Only targeted network daemons are protected. 
    # strict - Full SELinux protection. 
    SELINUXTYPE=targeted 
    #SELINUX有「disabled」「permissive」,「enforcing」3种选择。 
    模式的设置 :
    enforcing:强制模式,只要selinux不允许,就无法执行 
    permissive:警告模式,将该事件记录下来,依然允许执行 
    disabled:关闭selinux;停用,启用需要重启计算机。 

    9、修改vsftp配置文件,禁止匿名登录

    vi /etc/vsftpd/vsftpd.conf
    
    把:anonymous_enable=YES 改为: anonymous_enable=NO

    10、done

     用FileZilla连接,一切OK。

    11、vsftpd.conf主要参数

    listen=[YES|NO]  是否以独立运行的方式监听服务
    listen_address=IP 地址  设置要监听的 IP 地址
    listen_port=21  设置 FTP 服务的监听端口
    download_enable=[YES|NO]  是否允许下载文件
    userlist_enable=[YES|NO] userlist_deny=[YES|NO] 设置用户列表为“允许”还是“禁止”操作
    max_clients=0  最大客户端连接数,0 为不限制
    max_per_ip=0  同一 IP 地址的最大连接数,0 为不限制
    anonymous_enable=[YES|NO]  是否允许匿名用户访问
    anon_upload_enable=[YES|NO]  是否允许匿名用户上传文件
    anon_umask=022  匿名用户上传文件的 umask 值
    anon_root=/var/ftp  匿名用户的 FTP 根目录
    anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
    anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限)
    anon_max_rate=0  匿名用户的最大传输速率(字节/秒),0 为不限制
    local_enable=[YES|NO]  是否允许本地用户登录 FTP
    local_umask=022  本地用户上传文件的 umask 值
    local_root=/var/ftp  本地用户的 FTP 根目录
    chroot_local_user=[YES|NO]  是否将用户权限禁锢在 FTP 目录,以确保安全
    local_max_rate=0  本地用户最大传输速率(字节/秒),0 为不限制

    12、登录模式

    vsftpd 以三种认证模式登录到FTP服务器上。
    1)是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到 FTP 服务器。
    2)是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。上例就是使用本地账户进行认证的。
    3)是这三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,
    而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。

    12.1、匿名登录模式参数:

    anonymous_enable=YES  允许匿名访问模式
    anon_umask=022  匿名用户上传文件的 umask 值
    anon_upload_enable=YES  允许匿名用户上传文件
    anon_mkdir_write_enable=YES  允许匿名用户创建目录
    anon_other_write_enable=YES  允许匿名用户修改目录名称或删除目录

    12.2、本地用户登录参数:

    anonymous_enable=NO  禁止匿名访问模式
    local_enable=YES  允许本地用户模式
    write_enable=YES  设置可写权限
    local_umask=022  本地用户模式创建文件的 umask 值
    userlist_enable=YES  启用“禁止用户名单”,名单文件为 ftpusers 和 user_list
    userlist_deny=YES 开启用户作用名单文件功能(default)
    #vsftpd服务的目录里默认存放这两个文件ftpusers和user_list,默认情况下,在这两个文件列表里的用户是不允许使用ftp登录
    [root@bigdata-senior01 vsftpd]# cat ftpusers
    # Users that are not allowed to login via ftp
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody

    #user_list列表里的用户是允许登录还是不允许主要是看配置 [root@bigdata
    -senior01 vsftpd]# cat user_list # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody
  • 相关阅读:
    js弹出遮罩层
    委托集合使用
    C#动态属性(.NET Framework4.5支持)
    ABP项目启动及源代码结构
    ABP项目概述
    Visual Studio 2017调试开源项目代码
    GIT的前世今生
    近期上海面试总结(二)
    近期上海面试总结(一)
    一个基于反射的消息发布订阅模型详解
  • 原文地址:https://www.cnblogs.com/asker009/p/10217609.html
Copyright © 2011-2022 走看看