Файл конфигурации vsftpd в различных системах по умолчанию располагается в различных местах:
в FreeBSD — /usr/local/etc/vsftpd.conf
в Fedora — /etc/vsftpd/vsftpd.conf
в Debian — /etc/vsftpd.conf
После внесения изменений в конфигурационный файл вашего vsftpd не забывайте перезапускать его. В FreeBSD:
# /usr/local/etc/rc.d/vsftpd restart
В Debian/Fedora:
# service vsftpd restart
Управление доступом
Обратите внимание на то, что в процессе установки vsftp в вашу систему добавляется пользователь с именем учётной записи ftp. Предназначение этой учётной записи — организация доступа к каталогу анонимного FTP. По умолчанию vsftpd разрешает доступ на чтение анонимным пользователям к домашнему каталогу учётной записи ftp. Не забудьте отключить его, если это вам не нужно, изменив значение соответствующего параметра:
anonymous_enable=NO
Если же доступ анонимных пользователей к вашему FTP-серверу разрешён, дополнительно вы можете отключить запрос пароля при анонимном логине:
no_anon_password=YES
Доступ локальных пользователей системы по умолчанию обычно отключён. Включить его при необходимости можно следующим образом:
local_enable=YES
Чтобы ваши локальные пользователи не «бродили» выше их домашних каталогов, можно включить следующее ограничение:
chroot_local_user=YES
Также можно использовать другой способ chroot пользователей, при котором ограничиваться будут не все пользователи, а лишь явно определённые. Для этого необходимо установить значение параметра chroot_local_user равным NO, создать файл с перечнем пользователей для которых chroot должен действовать (например, в /etc/vsftpd.chroot_list) и определить следующие два параметра:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Обратите внимание на то, что если при определённых выше двух параметрах значение параметра chroot_local_user является равным NO, то учётные записи, перечисленные в файле chroot_list_file НЕ будут попадать под ограничения chroot.
Если вы хотите ограничить количество одновременных соединений к vsftpd, есть два способа сделать это: при помощи возможностей суперсервера xinetd или, если ваш демон работает в автономном режиме, при помощи параметра (естественно 10 заменив на нужное вам количество допустимых одновременных подключений):
max_clients=10
По умолчанию в конфигурации vsftpd запрещены FTP-команды создания новых файлов и каталогов, таким образом ваши локальные пользователи по умолчанию не смогут получить доступ на запись в своих домашних каталогах. Исправить это легко можно при помощи определения параметра write_enable:
write_enable=YES
После того, как в конфигурации вашего сервера параметр write_enable установлен равным YES и anonymous_enable определён как YES вы можете управлять доступом относительно операций создания новых файлов/каталогов анонимными пользователями. Разрешить создавать новые каталоги анонимам:
anon_mkdir_write_enable=YES
Разрешить анонимным пользователям удалять и переименовывать файлы и каталоги:
anon_other_write_enable=YES
Разрешить анонимам загружать новые файлы:
anon_upload_enable=YES
Ограничить скорость обмена данными для анонимных пользователей в автономном режиме сервера можно следующим параметром (значение указывается в байтах/сек):
anon_max_rate=1024
По умолчанию umask файлов vsftpd использует равный 077, то есть файлы создаются доступными на чтение/запись только для владельца. Изменить значение umask анонимных пользователей можно при помощи параметра anon_umask:
anon_umask=022
а для локальных — при помощи параметра local_umask:
local_umask=022
При необходимости вы можете запретить пользователям скачивать файлы с вашего сервера:
download_enable=NO
Иногда бывает полезно скрыть реальные идентификаторы владельцев файлов, заменив их на идентификатор пользователя ftp:
hide_ids=YES
Сетевые параметры
Если ваш vsftpd запускается в автономном режиме, а не через xinetd, тогда необходимо явно указать это:
listen=YES
то же, для IPv6 (помните, что демон может работать одновременно только либо с IPv4, либо с IPv6):
listen_ipv6=YES
Определить IPv4 адрес, на который должен «вешаться» демон, можно параметром:
listen_address=192.168.0.1
Для IPv6:
listen_address6=fe80:0:0:0:202:b3ff:fe1e:8329
При необходимости вы можете отключить возможность использования клиентами PASV-режима:
pasv_enable=NO
Разное
Начиная с версии 2.0.7 vsftpd умеет удалять неудавшиеся закачки, если определить следующий параметр:
delete_failed_uploads=YES
По умолчанию vsftpd отображает таймштампы файлов в GMT. Если вам нужно, чтобы они отображались согласно локальному времени сервера, воспользуйтесь следующим параметром:
use_localtime=YES
в FreeBSD — /usr/local/etc/vsftpd.conf
в Fedora — /etc/vsftpd/vsftpd.conf
в Debian — /etc/vsftpd.conf
После внесения изменений в конфигурационный файл вашего vsftpd не забывайте перезапускать его. В FreeBSD:
# /usr/local/etc/rc.d/vsftpd restart
В Debian/Fedora:
# service vsftpd restart
Управление доступом
Обратите внимание на то, что в процессе установки vsftp в вашу систему добавляется пользователь с именем учётной записи ftp. Предназначение этой учётной записи — организация доступа к каталогу анонимного FTP. По умолчанию vsftpd разрешает доступ на чтение анонимным пользователям к домашнему каталогу учётной записи ftp. Не забудьте отключить его, если это вам не нужно, изменив значение соответствующего параметра:
anonymous_enable=NO
Если же доступ анонимных пользователей к вашему FTP-серверу разрешён, дополнительно вы можете отключить запрос пароля при анонимном логине:
no_anon_password=YES
Доступ локальных пользователей системы по умолчанию обычно отключён. Включить его при необходимости можно следующим образом:
local_enable=YES
Чтобы ваши локальные пользователи не «бродили» выше их домашних каталогов, можно включить следующее ограничение:
chroot_local_user=YES
Также можно использовать другой способ chroot пользователей, при котором ограничиваться будут не все пользователи, а лишь явно определённые. Для этого необходимо установить значение параметра chroot_local_user равным NO, создать файл с перечнем пользователей для которых chroot должен действовать (например, в /etc/vsftpd.chroot_list) и определить следующие два параметра:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Обратите внимание на то, что если при определённых выше двух параметрах значение параметра chroot_local_user является равным NO, то учётные записи, перечисленные в файле chroot_list_file НЕ будут попадать под ограничения chroot.
Если вы хотите ограничить количество одновременных соединений к vsftpd, есть два способа сделать это: при помощи возможностей суперсервера xinetd или, если ваш демон работает в автономном режиме, при помощи параметра (естественно 10 заменив на нужное вам количество допустимых одновременных подключений):
max_clients=10
По умолчанию в конфигурации vsftpd запрещены FTP-команды создания новых файлов и каталогов, таким образом ваши локальные пользователи по умолчанию не смогут получить доступ на запись в своих домашних каталогах. Исправить это легко можно при помощи определения параметра write_enable:
write_enable=YES
После того, как в конфигурации вашего сервера параметр write_enable установлен равным YES и anonymous_enable определён как YES вы можете управлять доступом относительно операций создания новых файлов/каталогов анонимными пользователями. Разрешить создавать новые каталоги анонимам:
anon_mkdir_write_enable=YES
Разрешить анонимным пользователям удалять и переименовывать файлы и каталоги:
anon_other_write_enable=YES
Разрешить анонимам загружать новые файлы:
anon_upload_enable=YES
Ограничить скорость обмена данными для анонимных пользователей в автономном режиме сервера можно следующим параметром (значение указывается в байтах/сек):
anon_max_rate=1024
По умолчанию umask файлов vsftpd использует равный 077, то есть файлы создаются доступными на чтение/запись только для владельца. Изменить значение umask анонимных пользователей можно при помощи параметра anon_umask:
anon_umask=022
а для локальных — при помощи параметра local_umask:
local_umask=022
При необходимости вы можете запретить пользователям скачивать файлы с вашего сервера:
download_enable=NO
Иногда бывает полезно скрыть реальные идентификаторы владельцев файлов, заменив их на идентификатор пользователя ftp:
hide_ids=YES
Сетевые параметры
Если ваш vsftpd запускается в автономном режиме, а не через xinetd, тогда необходимо явно указать это:
listen=YES
то же, для IPv6 (помните, что демон может работать одновременно только либо с IPv4, либо с IPv6):
listen_ipv6=YES
Определить IPv4 адрес, на который должен «вешаться» демон, можно параметром:
listen_address=192.168.0.1
Для IPv6:
listen_address6=fe80:0:0:0:202:b3ff:fe1e:8329
При необходимости вы можете отключить возможность использования клиентами PASV-режима:
pasv_enable=NO
Разное
Начиная с версии 2.0.7 vsftpd умеет удалять неудавшиеся закачки, если определить следующий параметр:
delete_failed_uploads=YES
По умолчанию vsftpd отображает таймштампы файлов в GMT. Если вам нужно, чтобы они отображались согласно локальному времени сервера, воспользуйтесь следующим параметром:
use_localtime=YES