ftp服务

作者: Odven | 来源:发表于2020-06-22 17:25 被阅读0次

    ftp服务

    1. 安装
    yum install -y vsftpd
    
    2. 配置文件介绍
    cd /etc/vsftp/
    
    /etc/vsftpd/vsftpd.conf 是核心配置文件。
    /etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
    /etc/vsftpd/user_list  是白名单文件,是允许访问 FTP 服务器的用户列表。
    /etc/vsftpd/vsftpd_conf_migrate.sh  是vsftpd操作的一些变量和设置
    
    3. 启动
    systemctl restart vsftpd
    systemctl enable vsftpd
    
    4. FTP连接方式
    有时候,完成vsftpd安装后发现无法远程连接,仍需要完成以下配置。
    
    原因分析:
    FTP连接方式分为:主动模式和被动模式。默认为被动模式。
    如果为被动模式,服务器端必须监听至少一个额外的被动模式端口。所以,若只开通20和21端口是不够的,需要另外配置入站端口。
    
    FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
    先假设客户端为C,服务端为S.
    
    Port模式:(21端口(接收命令),20端口(发送数据))
    当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
    pasv_enable=NO  // 启动主动模式
    
    Pasv模式: (21端口(接收命令),一个自己设置的端口范围(被动的发送数据))
    当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
    pasv_enable=YES       // 启动被动模式  默认的
    pasv_min_port=8800   // 开启发送数据的最小端口
    pasv_max_port=8899  // 开启发送数据的最大端口
    设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
    
    5. 配置 vsftpd 限制 FTP 账户访问其它目录
    使用 vsftpd 搭建 FTP 服务,可以配置用户登录后,限制访问其它的目录,只能进它的主目录。 配置方法如下:
    local_root= /var/www        #本地用户登录后自动转到的ftp根目录
    chroot_local_user=YES       #将所有用户限定在指定的主目录内
    chroot_list_enable=NO       #不启用列外的用户列表
    chroot_list_file=/etc/vsftpd/chroot_list  #指定列外的用户列表文件
    
    详解:
    关于chroot_local_user的设置,通常我们倾向于:全局禁止跳出主目录,使用chroot_list添加例外
    
    如果chroot_local_user=YES;所有用户都被限制在其主目录下
        chroot_list_enable=NO,不使用chroot_list_file指定的用户列表,没有任何“例外”用户
        chroot_list_enable=YES,那么userlist_file就是白名单(表示文件里面的用户可以不被限制在其主目录下)
    如果chroot_local_user=NO;所有用户都不被限制其主目录下
        chroot_list_enable=NO,不使用chroot_list_file指定的用户列表,没有任何“例外”用户
        chroot_list_enable=YES,那么userlist_file就是白名单(表示文件里面的用户可以被限制在其主目录下)
    
    6. 启用可以登录ftp的用户白名单配置
    vsftpd有两个默认存放用户名单的文件(默认在/etc/vsftpd/ 目录下),来对访问FTP服务的用户身份进行管理和限制。vsftpd会分别检查两个配置文件,只要是被任何一个文件所禁止的用户,FTP访问到本机的请求都会被拒。
    user_list:可以作为用户白名单,或者是黑名单,或者无效名单。完全由userlist_enable和userlist_deny这两个参数决定。
    ftpusers:只能是用户黑名单,不受任何参数限制。
    
    userlist_enable=YES     #启动用户列表
    userlist_deny=NO        #决定是否对用户列表的用户拒绝访问ftp 
    userlist_file=/etc/vsftpd/user_list
    
    详解:
    如果userlist_enable=YES     #启动用户列表
        userlist_deny=NO,那么userlist_file就是白名单
        userlist_deny=YES,那么userlist_file就是黑名单
    

    简单配置

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    allow_writeable_chroot=YES
    listen=YES
    listen_ipv6=NO
    pam_service_name=vsftpd
    userlist_enable=YES
    userlist_file=/etc/vsftpd/user_list
    userlist_deny=NO
    tcp_wrappers=YES

    相关文章

      网友评论

          本文标题:ftp服务

          本文链接:https://www.haomeiwen.com/subject/lsxffktx.html