Установка и настройка vsftpd для debian

Тема в разделе "Десктопный Linux", создана пользователем grixann, 16 ноя 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    Основной вопрос как настроить vsftpd
    для vds основная задача загрузка файлов и выставления прав доступа .
    Сделал только apt-get install vsftpd
    Как добавить пользователя и пароль чтобы он стартовал с var/www/*
     
  2. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    В конфиге используй опцию
    Код:
    user_config_dir=/etc/vsftpd
    В папке /etc/vsftpd для каждого пользователя собсвенный файл настроек, типа
    Код:
    local_root=/var/www
    write_enable=yes
    file_open_mode=0775
    local_umask=002
    Был "глюк" когда не пускает на фтп (не знаю сохранился ли), если файла нету файла, хотяьы пустого, для пользователя.
    Ну и разрешения на фс соответсвующие.
    Пользователи либо системны (проще), либо виртуальные, но там свои особенности получаются.
     
  3. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    нету у меня папки , расскажи подробно как сделать давай по системным пользователям
     
  4. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    Создай -)
    mkdir /etc/vsftpd
    useradd username
    >/etc/vsftpd/username
     
  5. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    Я то создал и что дальше пиши подробно что делать ?
     
  6. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    Ох ёёё.
    Ладно, например так:
    конфиг /etc/vsftpd.conf приводим к виду:
    Код:
    listen=YES
    connect_from_port_20=YES
    listen_port=21
    anonymous_enable=no
    local_enable=yes
    user_config_dir=/etc/vsftpd
    chroot_local_user=yes
    chmod_enable=yes
    write_enable=no
    ascii_download_enable=NO
    ascii_upload_enable=NO
    pasv_max_port=21400 
    pasv_min_port=21300
    file_open_mode=0764
    #local_umask=022
    use_localtime=YES
    xferlog_enable=YES
    xferlog_file=/var/log/vsftpd.log
    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    pam_service_name=vsftpd
    ftpd_banner=Welcome to somewhere!
    Создаём папку /etc/vsftpd
    Код:
    mkdir /etc/vsftpd
    Создаём файл настроек пользователя fallen7
    Код:
    >/etc/vsftpd/fallen7
    Редактируем /etc/vsftpd/fallen7 и приводим к виду
    Код:
    local_root=/var/www
    write_enable=yes
    file_open_mode=0775
    local_umask=002
    Добавляем пользователя fallen7
    Код:
    useradd fallen7
    Создаём ему пароль
    Код:
    passwd fallen7
    Если /var вынесен в отдельный раздел диска, то меняем /etc/fsttab, и добавляем в опцию монтирования acl
    Код:
    /dev/sda3       /var          xfs    defaults,acl        0       2
    перемонтируем /dev/sda3 с новой опцией:
    Код:
    mount -o remount /dev/sda3
    устанавливаем acl на /var/www
    Код:
    setfacl -R -m u:www-data:rwx /var/www 
    setfacl -m d:u:www-data:rwx
    setfacl -R -m u:fallen7:rwx /var/www 
    setfacl -m d:u:fallen7:rwx
    
    Решение с acl не совсем красивое, по ряду причин, но сейчас я заморачиваться с этим не буду - понадобится сами почитаете и поймёте.
     
  7. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    и нечего не получилось
    при попытке соединения пишет
    PHP:
    [R220 Welcome to somewhere!
    [
    RUSER fallen7
    [R331 Please specify the password.
    [
    RPASS (hidden)
    [
    R500 OOPScannot change directory:/home/fallen7
    [RConnection failed
    [RDelaying for 120 seconds before reconnect attempt #1
    Чтобы избавить от проблемы мне создал папку /home/fallen7
    И опять проблема при попытке закачать файл получаю ошибку
    PHP:
    [R227 Entering Passive Mode (188,40,161,19,83,119)
    [
    ROpening data connection IP188.40.161.19 PORT21367
    [R] LIST -al
    [R150 Here comes the directory listing.
    [
    R226 Directory send OK.
    [
    R] List Complete115 bytes in 0,22 seconds (0,5 KB/s)
    Transfer queue completed
    1 File failed to transfer
    также не проставляет права на доступ
    Как это решить ?

    Изменил настройки вфайле конфика на
    PHP:
    write_enable=yes
    ascii_download_enable
    =Yes
    ascii_upload_enable
    =Yes
    Все равно не могу загрузить файлы и установить права на папки и файлы
     
  8. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    acl установили?
    покажите
    Код:
    getfacl /var/www
     
  9. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    нет наверное не установился
    PHP:
    -bashgetfaclcommand not found
    root
    @buhalych:~# setfacl -R -m u:www-data:rwx /var/www 
    -bashsetfaclcommand not found
    root
    @buhalych:~# setfacl -m d:u:www-data:rwx
    -bashsetfaclcommand not found
    root
    @buhalych:~# setfacl -R -m u:fallen7:rwx /var/www 
    -bashsetfaclcommand not found
    root
    @buhalych:~# setfacl -m d:u:fallen7:rwx
    -bashsetfaclcommand not found
     
  10. Fallen7

    Fallen7 Постоялец

    Заблокирован
    Регистр.:
    5 фев 2009
    Сообщения:
    54
    Симпатии:
    3
    Тогда установите, в чём проблема? Зачем пишите, что не работает, если не всё сделали?
    Если вам на заводе машине колёса прикрутить забудут, вы ведь далеко не уедете.
    Код:
    aptitude install acl
    и вперёд.
     
Статус темы:
Закрыта.