• vsFTPd 服务器


    cmd 执行内部命令 literal
    一 安装
    1.tar -zxvf vsftpd-2.1.2.tar.gz
    2.cd vsftpd-2.1.2
    3.make
    4.make install
    5.make clean
    6.finger nobody 如果不存在 增加nobody 用户 useradd nobody
    7.mkdir /usr/share/empty 如果存在则忽略这步
    8.mkdir /var/ftp 如果存在则忽略这步(ftp 匿名用户默认主目录,按自己的需要创建)
    9.finger ftp 如果不存在 useradd -d /var/ftp -s /sbin/nologin ftp
    10.chown root.root /var/ftp
    11.chmod og-w /var/ftp
    12.cp vsftpd.conf /etc/
    13.cp RedHat/vsftpd.pam /etc/pam.d/vsftpd(pam 认证 本地认证和虚拟用户认证)
    二 配置文件
    一 连接选项
    此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了在主机的哪个IP地址上监听FTP请求,即在哪个IP地址上提供FTP服务。对于只有一个IP地址的主机,
    不需要使用此参数。对于多址主机,不设置此参数,则监听所有IP地址。默认值为无。
    listen_address=ip address
    FTP 分为两类,PORT FTP和PASV FTP,PORT FTP是一般形式的FTP。这两种FTP在建立控制连接时操作是一样的,都是由客户端首先和FTP服务器的控制端口(默认值为21)建立控制链接,并通过此链接进行传输操作指令。它们的区别在于使用数据传输端口(ftp-data)的方式。PORT FTP由FTP服务器指定数据传输所使用的端口,默认值为20。PASV FTP由FTP客户端决定数据传输的端口。PASV FTP这种做法,主要是考虑到存在防火墙的环境下,由客户端与服务器进行沟通(客户端向服务器发出数据传输请求中包含了数据传输端口),决定两者之间的数据传输端口更为方便一些。
    如果你要在数据连接时取消PORT模式时,设此选项为NO。默认值为YES。
    port_enable=YES|NO
    控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。默认值为NO,但RHL自带的vsftpd.conf文件中此参数设为YES。
    connect_from_port_20=YES|NO
    设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。
    ftp_data_port=port number
    默认值为NO。为YES时,取消PORT安全检查。该检查确保外出的数据只能连接到客户端上。小心打开此选项
    port_promiscuous=YES|NO
    YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES
    pasv_enable=YES|NO
    设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
    pasv_min_port=port number
    pasv_max_port=port number
    此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO。
    pasv_promiscuous=YES|NO
    此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字(incoming connectd socket)中获取。
    pasv_address=
    默认情况下,VSFTPD是禁止使用ASCII传输模式。即使FTP客户端使用asc命令,指明要使用ASCII模式,但是,VSFTPD表面上接受了asc命令,而在实际传输文件时,还是使用二进制方式。下面选项控制VSFTPD是否使用ASCII传输模式。
    控制是否允许使用ascii模式上传文件,YES允许,NO不允许,默认为NO。
    ascii_upload_enable=YES|NO
    控制是否允许使用ascii模式下载文件,YES允许,NO不允许,默认为NO。
    ascii_download_enable=YES|NO
    二 性能与负载控制
    空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。
    idle_session_timeout=
    空闲的数据连接的超时时间。默认值为300 秒
    data_connection_timeout=
    接受建立联机的超时设定,单位为秒。默认值为60。
    accept_timeout=numerical value
    响应PORT方式的数据联机的超时设定,单位为秒。默认值为60。以上两个选项针对客户端的,将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接。
    connect_timeout=numerical value
    此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了FTP服务器最大的并发连接数,当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数
    max_clients=numerical value
    此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将影响到象网际快车这类的多进程下载软件。默认值为0,表示不限制
    max_per_ip=numerical value
    设定匿名用户的最大数据传输速度value,以Bytes/s为单位。默认无
    anon_max_rate=value
    设定用户的最大数据传输速度value,以Bytes/s为单位。默认无。此选项对所有的用户都生效。此外,也可以在用户个人配置文件中使用此选项,以指定特定用户可获得的最大数据传输速率。
    local_max_rate=value
    在vsftpd.conf中指定用户个人配置文件所在的目录,如:
    user_config_dir=/etc/vsftpd/userconf
    生成/etc/vsftpd/userconf目录。
    用户个人配置文件是在该目录下,与特定用户同名的文件,如:
    /etc/vsftpd/userconf/xiaowang
    在用户的个人配置文件中设置local_max_rate参数,如:
    local_max_rate=80000
    以上步骤设定FTP用户xiaowang的最大数据传输速度为80KBytes/s。
      VSFTPD 对于速度控制的变化范围大概在80%到120%之间。比如我们限制最高速度为100KBytes/s, 但实际的速度可能在80KBytes/s 到120KBytes/s 之间。
    当然,若是线路带宽不足时,速率自然于此限制。
    三 用户选项
    VSFTPD的用户分为三类:匿名用户、本地用户(local user)以及虚拟用户(guest)。
    匿名用户
    控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。
    anonymous_enable=YES|NO
    匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp
    ftp_username=
    控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO
    no_anon_password=YES|NO
    此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。即,当匿名用户使用banned_email_file文件中所列出的e-mail进行登录时,被拒绝。显然,这对于阻击某些Dos攻击有效。当此参数生效时,需追加banned_email_file参数
    deny_email_enable=YES|NO
    指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd.banned_emails
    banned_email_file=/etc/vsftpd.banned_emails
    设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。
    anon_root=
    控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。
    anon_world_readable_only=YES|NO
    控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。除了这个参数外,匿名用户要能上传文件,还需要两个条件:一,write_enable参数为YES;二,在文件系统上,FTP匿名用户对某个目录有写权限
    anon_upload_enable=YES|NO
    控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。当然在文件系统上,FTP匿名用户必需对新目录的上层目录拥有写权限。
    anon_mkdir_write_enable=YES|NO
    控制匿名用户是否拥有除了上传和新建目录之外的其他权限,如删除、更名等。YES拥有,NO不拥有,默认值为NO。
    anon_other_write_enable=YES|NO
    是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。
    chown_uploads=YES|NO
    指定拥有匿名用户上传文件所有权的用户。此参数与chown_uploads联用。不推荐使用root用户。
    chown_username=whoever
    本地用户
    在使用FTP服务的用户中,除了匿名用户外,还有一类在FTP服务器所属主机上拥有账号的用户。VSFTPD中称此类用户为本地用户(local users),等同于其他FTP服务器中的real用户。
    控制vsftpd所在的系统的用户是否可以登录vsftpd。默认值为YES。
    local_enable=YES|NO
    定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无
    local_root=
    定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件。个人配置文件的格式与vsftpd.conf格式相同。例如定义 user_config_dir=/etc/vsftpd/userconf,并且主机上有用户xiaowang,lisi,那我们可以在 user_config_dir的目录新增名为xiaowang、lisi的两个文件。当用户lisi 登入时,VSFTPD则会读取user_config_dir下lisi这个文件中的设定值,应用于用户lisi。默认值为无。
    user_config_dir=
    虚拟用户
    若是启动这项功能,所有的非匿名登入者都视为guest。默认值为关闭。
    guest_enable=YES|NO
    定义VSFTPD的guest用户在系统中的用户名。默认值为ftp。
    guest_username=
    四 安全措施
    指出VSFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是/etc/pam.d/vsftpd。
    pam_service_name=vsftpd
    VSFTPD禁止列在此文件中的用户登录FTP服务器。这个机制是在/etc/pam.d/vsftpd中默认设置的。
    /etc/vsftpd.ftpusers
    此选项被激活后,VSFTPD将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,VSFTPD查到该用户名在列表,VSFTPD就直接禁止掉该用户,不会再进行询问密码等后续步聚。默认值为NO。
    userlist_enable=YES|NO
    指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list。
    userlist_file=/etc/vsftpd.user_list
    决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示。NO,只允许在文件中的用户登录FTP服务器。
    userlist_deny=YES|NO
    在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES
    tcp_wrappers=YES|NO
    锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
    chroot_list_enable=YES|NO
    指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。通常该文件是/etc/vsftpd/chroot_list。此选项默认不设置。
    chroot_list_file=/etc/vsftpd/chroot_list
    将本地用户锁定在自家目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO
    chroot_local_user=YES|NO
    当此选项激活时,与chroot_local_user选项配合,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自家目录字段。默认值为NO。
    passwd_chroot_enable
    是否隐藏文件的所有者和组信息。YES,当用户使用"ls -al"之类的指令时,在目录列表中所有文件的拥有者和组信息都显示为ftp。默认值为NO。
    hide_ids=YES|NO
    YES,允许使用"ls -R" 指令。这个选项有一个小的安全风险,因为在一个大型FTP站点的根目录下使用"ls -R"会消耗大量系统资源。默认值为NO。
    ls_recurse_enable=YES|NO
    控制是否允许使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默认值为NO,不过自带的简单配置文件中打开了该选项。
    write_enable=YES|NO
    这选项指向一个空目录,并且ftp用户对此目录无写权限。当vsftpd不需要访问文件系统时,这个目录将被作为一个安全的容器,用户将被限制在此目录中。默认目录为/usr/share/empty。
    secure_chroot_dir=
    匿名用户新增文件的umask 数值。默认值为077。
    anon_umask=
    上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。默认值为0666。
    file_open_mode=
    本地用户新增档案时的umask 数值。默认值为077。不过,其他大多数的FTP服务器都是使用022。如果您的用户希望的话,可以修改为022。在自带的配置文件中此项就设为了022。
    local_umask=
    五 提示信息
    此参数定义了login banner string(登录欢迎语字符串)。用户可以自行修改。预设值为无。当ftpd_banner设置后,将取代系统原来的欢迎词。
    ftpd_banner=login banner string
    此项指定一个文本文件,当使用者登入时,会显示此该文件的内容,通常为欢迎话语或是说明。默认值为无。与ftpd_banner相比, banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file选项将取代ftpd_banner选项。
    banner_file=/directory/vsftpd_banner_file
    控制是否启用目录提示信息功能。YES启用,NO不启用,默认值为YES。此功能启用后,当用户进入某一个目录时,会检查该目录下是否有message_file选项所指定的文档,若是有,则会出现此文档的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。
    dirmessage_enable=YES|MO
    此选项,仅在dirmessage_enable选项激活方生效。默认值为.message。
    message_file=
    六 日志设置
    控制是否启用一个日志文件,用于详细记录上传和下载。该日志文件由xferlog_file选项指定。默认值为NO,但简单配置文件中激活此选项
    xferlog_enable=YES|NO
    这个选项设定记录传输日志的文件名。默认值为/var/log/vsftpd.log。
    xferlog_file=
    控制日志文件是否使用xferlog的标准格式,如同wu-ftpd一样。使用xferlog格式,可以重新使用已经存在的传输统计生成器。然而,默认的日志格式更为可读性。默认值为NO,但自带的配置文件中激活了此选项。
    xferlog_std_format=YES|NO
    当此选项激活后,所有的FTP请求和响应都被记录到日志中。提供此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值为NO。
    log_ftp_protocol=YES|NO
    七  其他
    YES,VSFTPD将在系统进程列表中显示每个会话(session)的状态。也就是说,进程报告将显示每个vsftpd会话在做什么(挂起、下载等),如用ps -ef|grep ftp。出于安全的目的,可以考虑将此选项关闭。NO,进程报告只显示一个vsftpd进程在运行。默认值为NO。
    setproctitle_enable=YES|NO
    当使用者登入后使用ls -al 之类指令时,目录列表的用户和组信息域,默认是出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。默认值为NO。
    text_userdb_names=YES|No  
    默认为NO。YES,VSFTPD显示目录列表时使用你本地时区的时间。默认是显示GMT时间。同样,由ftp命令“MDTM”返回的时间值也受此选项影响。
    user_localtime=YES|NO
    此选项仅对不使用PAM方式的VSFTPD生效。当此选项关闭后,当本地用户登录时,VSFTPD不会检查/etc/shells文件以寻找一个有效的用户shell。默认为YES。
    check_shell=YES|NO  
    指定一个用户,当VSFTPD不想要什么权限时,使用此用户身份。这用户最好是一个专用的用户,而不是用户nobody。在大多数的机器上,nobody用户被用于大量重要的事情。默认值为nobody。
    nopriv_user=
    三 启动和关闭
    vsFTPd的运行有两种模式,一种是standalone "initd"模式,另外一种是xinetd模式,上面我们所说的就是standalone "initd"运行模式。两种模式运行机制不是相同的,stardard initd模式,适合专业FTP,且FTP总是一直有人访问,占用资源也是比较大,如果您的FTP总是有人访问和登入。就要用这种模式。如果您的FTP访问人数比较小,建议您用xinetd模式。xinetd模式,是当用户请求时,vsFTPd才会启动。 这里用standalone 模式
    运行vsftpd命令,要用到root权限,如果您当前操作用户并非是root,可以用su切换到root权限;
    vsFTPd服务器的运行;
    [root@localhost ~]# /usr/local/sbin/vsftpd &
    vsFTPd服务器是否运行起来;
    我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来;
    [root@localhost ~]# pgrep vsftpd
    4248
    上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;
    vsFTPd 服务器关闭:
    我们用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;当然也要用到root权限。
    [root@localhost ~]# pkill vsftpd
    [root@localhost ~]# pgrep vsftpd
    四 vsFTPd的服务器和防火墙及SELINUX的关系;(重要)
    我在论坛上看到有些弟兄说vsFTPd服务器启动正常,但却不能访问或用户不能上传文件,我感觉应该是防火墙或SELINUX的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。所以您必须要让防火墙通过ftp,当然也要让SELINUX通过ftp服务器才行;
    在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp “通过”防火墙;
    [root@localhost ~]# system-config-securitylevel-tui
    或者运行一下如下的命令,清除防火墙规则(通用);
    [root@localhost beinan]# iptables -F
    关于SELINUX服务器的解说 ,可能老手或新手对SELINUX都有点麻烦,建议您SELINUX;或者让vsFTPd服务器跳过SELINUX启动;这在Fedora/Redhat/CentOS中这样启动vsFTPd服务器是有效的;
    当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下;
    /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=Disabled  #这样就把SELINUX服务器关掉了,请重新启动系统;
    # SELINUXTYPE= type of policy in use. Possible values are:
    #       targeted - Only targeted network daemons are protected.
    #       strict - Full SELinux protection.
    SELINUXTYPE=targeted
    五 常见问题解决
    1. 非RPM包 卸载
    rm /usr/local/sbin/vsftpd
    rm /usr/local/man/man5/vsftpd.conf.5
    rm /usr/loval/man/man8/vsftpd.8
    rm /etc/xinetd.d/vsftpd
    rm /etc/vsftpd.conf
    2. 64位机安装问题
    在安装的时候出现 /lib/libpam.so.0: could not read symbols: File in wrong format 错误
    经过分析知道是64位引起的问题 将vsftp源文件下的vsf_findlibs.sh文件中的/lib,/usr/lib全部换成了/lib64,/usr/lib64再编译即可
    同时 在登录的时候 pam验证问题 登录一直登陆不上
    验证的时候找不到pam_userdb.so这个文件 将/etc/pam.d/ftp中的/lib/security/pam_userdb.so 改为/lib64/security/pam_userdb.so 即可
    3.make install 问题
    出现不能创建配置文件的问题 因为没有相应的目录 创建即可
    4.500 OOPS: vsftpd: refusing to run with writable anonymous root
    这表示ftp用户的家目录的权限不对,应该改过才对
    more /etc/passwd |grep ftp
    ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin
    发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;
    如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;
    [root@localhost ~]# ls -ld /var/ftp
    drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp
    修正这个错误,应该用下面的办法;
    [root@localhost ~]# chown root:root /var/ftp
    [root@localhost ~]# chmod 755 /var/ftp
    5.创建虚拟用户
    方法一 adduser -g ftp -s /sbin/nologin virtual 严格上来说,这种办法不能算虚拟用户
    方法二 这个是pam 认证 稍微复杂一点
    我们将使用pam_userdb来认证虚拟用户。这需要提供一个“db"格式(一种通用数据库格式)的用户名/密码文件。
    创建一个"db"格式的文件,首先要创建一个标准文本文件,并把用户名,密码以竖直排列方式输入。如vi logins.txt.
    admin     管理员用户  最高权限
    123       密码
    wty       管理员用户
    456       密码
    zyw       一般用户
    789       密码
    以ROOT登录,创建一个数据库文件,如下:
    db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
    这将创建/etc/vsftpd_login.db文件。显然,你希望设定这个文件的权限:
    chmod 600 /etc/vsftpd_login.db
    (查看db的版本 我的db4)
    rpm -q db4
    db4-4.3.29-9.fc6
    如果没有db_load 这个命令 说明少db4-utils-4.3.29-9.fc6.i386.rpm包 安装好即可
    用你的新数据库创建一个PAM文件
    请参考范例vsftpd.pam,和pam 管理篇 它包含2行:
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
    account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
    这是告诉PAM用新的数据库去验证用户。把这个PAM文件拷贝到PAM目录,一般是/etc/pam.d
    cp vsftpd.pam /etc/pam.d/ftp
    useradd -d /home/ftp virtual
    ls -ld /home/ftp
    drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
    我们已经创建了一个名叫"virtual"的用户,home目录是"/home/ftpsite".
    我们拷贝一些东西到这个下载目录:
    cp /etc/hosts /home/ftp
    chown virtual.virtual /home/ftp/hosts
    配置文件打开虚拟用户
    guest_enable=YES
    guest_username=virtual
    virtual_use_local_privs参数
    当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
    当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
    当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限.
    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
    6 如何实现虚拟路径
    home/a 映射为 ftp://localhost/a
    /home/b/c 则为 ftp://localhost/c
    其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。
    [root@localhost ~]# mount --bind [原有的目录] [新目录]
    比如我的ftp的默认目录是/var/ftp,我想把/mnt/data文件夹,映射到/var/ftp目录中,我就如下操作
    我们要先在/var/ftp目录中建一个目录
    [root@localhost ~]# mkdir /var/ftp/data
    然后执行mount命令
    [root@localhost ~]# mount --bind /mnt/data /var/ftp/data
    7 500 OOPS: bad bool value in config file for: chroot_local_user
    chroot_local_user=yes 后面多了一个空格 汗
    8.创建虚拟用户不能正常登陆问题
    windows 和unix换行标志不一样 windows /n/r unix /n window比unix多一个字节
    用UE16进制查看不能发现这个问题 会自动的在换行上加一个 ./r
    用fbin 工具查看即可 解决ue的 dos-》unix 转换即可

  • 相关阅读:
    微信小程序退款【证书的使用】
    生成随机位数的UUID
    弹出层-layui
    load加载层-layui
    form-layui
    table-layui
    下拉列表模仿placeholder效果
    .net core 2.0 Unable to convert MySQL date/time to System.DateTime
    .net core Include问题
    .net core 2.0 配置Session
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1704513.html
Copyright © 2020-2023  润新知