How To install vsftpd



  • Думаю пригодится кому нибудь….

    Делал все из консоли.

    устанавливаем vsftpd
    pkg_add -v -r -i vsftpd

    Далее настраиваем конфиг
    Листинг конфига

    # Example config file /usr/local/etc/vsftpd.conf
    #
    #anonymous_enable=YES
    local_enable=YES
    write_enable=YES
    #local_umask=022
    #anon_upload_enable=YES
    #anon_mkdir_write_enable=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    #chown_uploads=YES
    #chown_username=whoever
    xferlog_file=/var/log/vsftpd.log
    #xferlog_std_format=YES
    #idle_session_timeout=600
    #data_connection_timeout=120
    #nopriv_user=mag
    async_abor_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    ftpd_banner=Hello! See in the sky!
    #deny_email_enable=YES
    # (default follows)
    #banned_email_file=/etc/vsftpd.banned_emails
    
    chroot_local_user=YES
    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd.chroot_list
    #ls_recurse_enable=YES
    
    listen=YES
    #listen_ipv6=YES
    secure_chroot_dir=/usr/local/share/vsftpd/empty
    
    # If using vsftpd in standalone mode, uncomment the next two lines:
    # listen=YES
    background=YES
    
    

    далее сохраняем его в /etc/vsftpd.conf  и  /usr/local/etc/vsftpd.conf

    далее делаем два файла для запуска и засовываем их в /etc/rc.d и /usr/local/sbin/
    #touch vsftpd

    #!/bin/sh
    #
    # $FreeBSD: ports/ftp/vsftpd/files/vsftpd.sh.in,v 1.14 2012/01/14 14:49:23 dinoex Exp $
    #
    
    # PROVIDE: vsftpd
    # REQUIRE: DAEMON
    
    # To enable 'vsftpd' in standalone mode, you need to edit two files.
    # 1\. add the following line(s) to /etc/rc.conf to enable `vsftpd':
    #
    # vsftpd_enable="YES"
    # vsftpd_flags="-ooption=value" # Not required
    # vsftpd_config="/some/path/conf.file" # Not required
    #
    # 2\. tell vsftpd about standalone mode
    # Edit /usr/local/etc/vsftpd.conf (or /some/path/conf.file) to contain
    #
    # listen=YES
    # background=YES
    #
    # Samples are provided at the end of the configuration file.
    
    . /etc/rc.subr
    
    name="vsftpd"
    rcvar="vsftpd_enable"
    
    load_rc_config "$name"
    : ${vsftpd_enable:="NO"}
    : ${vsftpd_config:="/usr/local/etc/$name.conf"}
    
    command="/usr/local/libexec/$name"
    required_files="${vsftpd_config}"
    start_precmd="vsftpd_check"
    extra_commands="reload"
    
    vsftpd_check()
    {
            if grep -q "^ftp[       ]" /etc/inetd.conf
            then
                    err 1 "ftp is already activated in /etc/inetd.conf"
            fi
            if ! egrep -q -i -E "^listen.*=.*YES$" ${vsftpd_config}
            then
                    err 1 'vsftpd script need "listen=YES" in config file'
            fi
            if ! egrep -q -i -E "^background.*=.*YES$" ${vsftpd_config}
            then
                    err 1 'vsftpd script need "background=YES" in config file'
            fi
    }
    
    run_rc_command "$1"
    

    даем им права на запуск
    #chmod -x vsftp
    chmod 777 vsftpd      –- права 777 точно работают =)

    затем service vsftpd onestart

    на fw делаем правило(если должен быть доступен снаружи)
    TCP * * WAN address 21 (FTP) * none   FTP

    ну а дальше палет вашей фантазии не ограничен...
    Спасибо.


Log in to reply