FTP(二)相关配置

  • FTP服务是由vsftpd包提供的
  • 不再由xinetd服务管理
  • 用户认证配置文件:/etc/pam.d/vsftpd
  • 服务脚本:
    • centos7:/usr/lib/systemd/system/vsftpd.service
    • centos6:/etc/rc.d/init.d/vsftpd
  • 主配置文件:/etc/vsftpd/vsftpd.conf
  • 格式:option=value "注意:= 前后不要有空格"
  • 查看帮助:man 5 vsftpd.conf
  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
  • 系统用户共享文件位置:用户家目录
  • 虚拟用户共享文件位置:为其映射的系统用户的家目录
  • 相关配置

    命令端口

        listen_port=21 默认为21端口

    主动模式端口

        connect_from_port_20=YES 主动模式端口为20
        #"注意下面这一项默认配置文件里没有需要手动添加,可以添加在任意位置"
        ftp_data_port=20  指定主动模式的端口
    

    被动模式数据端口范围

        linux客户端默认使用被动模式
        windows 客户端默认使用主动模式
        #"注意下面这两项默认配置文件里没有需要手动添加,可以添加在任意位置"
        pasv_min_port=6000    0为随机分配 该选项为最小端口
        pasv_max_port=6010                该选项为最大端口

    使用本机时间

        use_localtime=YES 使用本机时间 默认是本机时间加8小时(默认为NO,使用GMT) 

    匿名账户管理

    - 支持匿名用户
        anonymous_enable=YES
    - 匿名用户略过口令检查
        no_anon_password=YES(默认NO)
    - 只能下载所有者,所属组,其他都为读权限的文件
        anon_world_readable_only (默认YES)
    - 支持匿名上传,注意:文件系统权限也会有限制,例如文件上传到的目录ftp用户是否有读写权限,默认匿名用户在/pub目录下不能上传文件
        anon_upload_enable=YES
    - 是否支持匿名用户创建文件
        anon_mkdir_write_enable=YES
    - 是否支持匿名用户删除和修改上传文件
        anon_other_write_enable=YES
    - 指定匿名上传的文件的umask值(默认为066)
        anon_umask=077
    - 指定上传文件的默认的所有者和权限
        chown_uploads=YES(默认NO)
        chown_username=wang     #指定上传文件所属者
        chown_upload_mode=0644  #指定上传文件的权限
    例如:
        ftp> ls
        150 Here comes the directory listing.
        -rw-r--r--    1 500      50           2020 Feb 10 06:08 anaconda-ks.cfg   #修改之后上传的文件
        -rw-------    1 14       50       1073741824 Feb 10 06:04 f1   #没有修改之前上传的文件
    

    Linux系统普通用户管理

    - 所有系统普通用户都映射为某一个用户
        1,guest_enable=YES 所有系统用户都映射成guest用户
        2,guest_username=wang 配合上面选项才生效,指定guest用户
        "注意:当添加该项配置之后,所有普通用户都会映射为"wang"用户,这时候如果"li"用户登入时,所在的目录会是wang的家目录,如果li用户不在wang用户组里,那么就不能查看wang用户的家目录,所以解决方法就是给读写权限即可
    - 非匿名用户登录所在目录,(默认如果没映射用户的话,登入就在自己的家目录里)
        local_root=/ftproot
    - 是否允许linux用户登录
        local_enable=YES
    - 允许linux用户上传文件
        write_enable-YES
    - 指定系统用户上传文件的默认权限
        local_umask=022   
    
    - 禁锢所有系统用户在家目录中
        chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户
    - 禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反
        1,在配置文件中添加下面两项配置
        chroot_list_enable=YES
        chroot_list_file=/etc/vsftpd/chroot_list
        2,在/etc/vsftpd/目录下创建一个文件名为:chroot_list
        注意:
                当chroot_local_user=YES时,则chroot_list中用户不禁锢
                当chroot_local_user=NO时,则chroot_list中用户禁锢 

    wu-ftp日志:默认启用

            xferlog_enable=YES (默认)启用记录上传下载日志
            xferlog_std_format=YES (默认)使用wu-ftp日志格式
            xferlog_file=/var/log/xferlog (默认)可自动生成 

    vsftpd日志:默认不启用

       #使用vsftpd日志格式加入下面两项配置,(默认不启用)
            dual_log_enable=YES
            vsftpd_log_file=/var/log/vsftpd.log(默认该文件会自动生成)不需要手动创建,重启服务有人访问就会自动生成 

    登录提示信息

    启动改配置在登入时会提示:welcome to mage ftp server
    ftpd_banner="Welcome to blah FTP service."
    例如:
        [[email protected] ~]# ftp  192.168.136.6
        Connected to 192.168.136.6 (192.168.136.6).
        "220 Welcome to blah FTP service."
        Name (192.168.136.6:root):
    也可以将提示语写在文件里但是需要加上下面这行配置,注意:在文件里支持字体加颜色噢!
        banner_file=/etc/vsftpd/ftpbanner.txt
    例如:
    
        echo -e ‘\033[1;5;31m小心驶得万年船\033[0m‘ > /etc/vsftpd/banner.txt

        1:表示高亮
        5:闪烁
        31:红色
        32:绿色                #注意中间使用”;“隔开
        33:黄色
        34:蓝色
        35:粉色
        36:青色
        37:白色

    目录访问提示信息

    当切换至某一个目录时会提示一些信息,需要加上下面的配置选项
        dirmessage_enable=YES (默认)  message_file=.message(默认)加上该配置后提示语文件必须存放在指定目录下.message中
        例如:
        echo -e ‘\033[1;31m您以进入pub目录! \033[0m‘ > /var/ftp/pub/.message

    使用pam(Pluggable Authentication Modules)完成用户认证

    默认在FTP服务就启用了PAM模块认证功能,下面这行配置就是启用PAm模块功能的。
        pam_service_name=vsftpd
    PAM模块配置文件所在:/etc/pam.d/vsftpd #默认文件中用户拒绝登录
    配置文件内容:
    cat   /etc/pam.d/vsftpd
        #%PAM-1.0
        session    optional     pam_keyinit.so    force revoke
        "auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed"
        auth       required     pam_shells.so
        auth       include      password-auth
        account    include      password-auth
        session    required     pam_loginuid.so
        session    include      password-auth
    
    我们只需要关注下面这个PAM模块即可
        auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
        该PAM模块功能就是在/etc/vsftpd/ftpusers这个文件中的用户能不能登入FTP服务器,
    取决于sense=是否是等于allow了,如果是deny的话该文件里的用户将不能登入,而allow则反之。
    所以想禁止一个用户登入只要写入/etc/vsftpd/ftpusers文件即可。这就是为什么root用户登不上去的原因,
    
    例如:
        [[email protected] pub]# cat /etc/vsftpd/ftpusers
        # Users that are not allowed to login via ftp
        root
        bin
        daemon
        adm
        lp
        sync
        shutdown
        halt
        mail
        news
        uucp
        operator
        games
        nobody
    

    另一个控制用户登入的文件

    需要启用下面的配置选项,
    
        1,userlist_enable=YES 默认有此设置
        上面的选项作用就是让/etc/vsftpd/目录下的users_list文件生效,默认在里面的用户被拒绝登入,
        并且登入时口令都不让输
         2,userlist_deny=YES
        添加上面的选项,(YES是默认值)表示该文件时黑名单,不提示口令,NO为白名单
    
         3, userlist_file=/etc/vsftpd/users_list     此为默认值
    
    例如:
        [[email protected] pub]# cat /etc/vsftpd/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
    

    用户连接限制

    分为最大并发限制,和IP最大同时发起的最大连接数

        max_clients=10   表示最大并发连接数为10个
        max_per_ip=3    每个IP同时发起的最大连接数为3个

    指定vsftpd服务用户运行身份,默认为nobody 。

    当有人访问时就会开启一个以nobody用户运行的进程
    nopriv_user=nobody 
    
    例如:
        [[email protected] pub]# ps aux |grep ftp
        root      20629  0.0  0.0  52132   828 ?        Ss   18:30   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
        root      20923  0.0  0.1  54236  1436 ?        Ss   20:15   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
        nobody    20924  0.0  0.1  54248  1040 ?        S    20:15   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    

    限制传输速度

        "注意:是以字节为单位例如:1024000表示1M"
        anon_max_rate=0     匿名用户的最大传输速率
        local_max_rate=0    本地用户的最大传输速率 

    连接时间控制:秒为单位

        connect_timeout=60 主动模式数据连接超时时长
        accept_timeout=60  被动模式数据连接超时时长
        data_connection_timeout=300 数据连接无数据输超时时长
        idle_session_timeout=60 无命令操作超时时长 

    文件传输方式:默认是二进制传输

        加上下面的配置选项,会优先以文本方式传输 ,
        "注意:如果是二进制程序的话也会以文本方式传输这样会导致二进制程序不能用,所以需谨慎使用"
        ascii_upload_enable=YES
        ascii_download_enable=YES 

    原文地址:http://blog.51cto.com/13598893/2072972

    时间: 2024-11-13 09:40:36

    FTP(二)相关配置的相关文章

    ftp服务相关配置域管理

    rhel6.2 一    基本配置 yum install vsttpd -y service vsftpd start id ftp cat /etc/passwd | grep ftp.其家目录在/var/ftp,默认有pub,匿名用户可使用 建立ftp相应的用户,就是系统用户,然后给密码 getsebool -a | grep ftp setsebool -p ftp_home_dir on  做完了这一步,系统用户就可以在w7上上传下载了 w7上ftp://192.168.200.1,然

    ftp web相关配置

    总环境:打开服务机和客户机,将两台机器设置为同一网络段并使之能够ping通,设置FTP[web]角色服务勾选FTP 验证基本与匿名身份验证:在D盘设置文件[ftp]并在文件夹中新建文件[ntd1.ntd2] 设置FTP-选择网站-右键新建FTP站点 设置站点信息-设置完成 设置基本身份验证 到客户机上验证-完成设置基本身份验证 设置匿名身份验证-把授权改为匿名用户 完成设置匿名用户身份验证[无需身份验证即可访问] FTP IP地址限制:点击IP地址和域限制-添加拒绝IP地址[客户机IP]-客户机

    浅谈Linux ftp服务器相关配置

    首先我们需要在Linux系统下安装FTP服务器  Ubuntu sudo apt-get install.......  centos yun....... 然后,我们要配置vsftpd.conf文件  sudo vim /etc/vsftpd.conf 添加如下配置 anonymous_enable=YES  (允许匿名用户访问) anon_root=/home/feige/ftp (匿名用户所在根目录,我的是/home/feige   你们的肯定都不一样了) no_anon_password

    ftp的相关配置

    参考 https://www.cnblogs.com/hexige/p/7809481.html 访问参数 原文地址:https://www.cnblogs.com/huay/p/11157387.html

    烂泥:FTP服务器开启防火墙相关配置

    本文首发于烂泥行天下. 由于工作需要公司最近的一台服务器需要开启启用FTP服务,用来传输文件. 但是考虑到该服务器是在公网,基于安全的考虑一般都是要开启防火墙的.而公司内部的FTP服务器,一般情况下我都是关闭防火墙的. 下面我就将有关防火墙的配置流出如下: OS:windows server 2003.2008 FTP:Filezilla Server 0.9.41 首先是安装FTP服务器,在此我使用时开源FTP服务器Filezill Server.有关Filezilla Server的安装与使

    一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

    不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity

    Linux FTP相关配置(CentOS 6.x)

    1.安装vsftpd: 检查是否安装:rpm -qa | grep vsftpd 无任何信息则安装:yum install -y vsftpd 配置防火墙开启21端口并重启防火墙:/etc/sysconfig/iptables添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 2.启动vsftpd前配置(建议关闭SELinux,减少不必要的配置): vsftpd连接方式建议设为被动模式(Passive Mode)

    Maven学习二:使用Nexus搭建Maven私服及相关配置

    处于安全等原因的考虑,一些企业内部网络是不允许访问外部网络的,但是项目内部搭建的项目又是Maven架构,这样就需要企业在内部网络中搭建自己的Maven仓库服务,再者一些大型企业或者内部模块化组件化划分的比较清楚的企业开发的一些独立组件就需要使用Maven自建仓库来存放独立组件了. 使用Nexus搭建Maven私服主要有一下步骤: 1.首先需要准备好Java环境和Maven环境环境 2.到Nexus官方网站下载最新版本的Nexus https://www.sonatype.com/download

    Linux5 ftp服务相关(包括ftp用户建立及ftp用户密码破解)

    一:ftp服务的开启和相关设置 1.打开虚拟机linux系统,登陆默认用户root,密码为安装linux系统时自设. 2.因为是在机房环境,我修改了ip地址和物理地址. 3.安装ftp服务用工具,启动ftp服务.输入以下命令: cd ..(退出到根目录,此命令为到上一级目录) cd media(进入指定文件夹) mkdir cdrom (创建cdrom文件夹) ls (显示文件夹内容) cd .. mount /dev/cdrom /media/cdrom/ (光盘镜像文件的挂接) cd med