Содержание
VSFTPD
Установка
apt-get install vsftpd
Настройка vsftpd для доступа пользователей имеющих учетную запись в системе
nano /etc/vsftpd.conf
Меняем параметры:
listen=YES
listen_ipv6=NO
Для того, чтобы разрешить авторизацию существующих в операционной системе пользователей, раскомментируйте:
local_enable=YES
Для того, чтобы разрешить таким (локальным) пользователям права на запись:
write_enable=YES
Для корректной работы с текстовыми данными, в частности с символами переноса строки в разных ОС (CR+LF в Windows, LF в Linux) включим поддержку ASCII, это полезно, если вы скачиваете скрипты или файлы с Linux сервера, правите их в среде Windows и заливаете обратно. В этом случае FTP автоматически будет менять символы переноса строки для соответствия стандартам системы.
ascii_upload_enable=YES
ascii_download_enable=YES
Пользовательские права могут иметь доступ к файлам всей системы, это всегда очень не желательно, и способствует компроментации машины; редактируя параметры vsftpd.conf, пользователей можно поместить в «песочницу»:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Так же мы включили файл-лист для списка пользователей.
Теперь нужно создать файл со списком пользователей, которые будут получать доступ по FTP:
nano /etc/vsftpd.chroot_list
Вводим туда логины пользователей с новой строки (если их несколько)
Теперь перезапускаем службу vsftpd, чтобы изменения вступили в силу:
service vsftpd restart
Индивидуальная настройка для пользователя
Включаем каталог с настройками для пользователей
Добавить в файл /etc/vsftpd.conf строку:
user_config_dir=/etc/vsftpd_user_conf
Создадим каталог
mkdir /etc/vsftpd_user_conf
К примеру для пользователя user можно прописать настройки в файле
/etc/vsftpd_user_conf/user
Например запретим вносить изменения в домашний каталог
local_root=/home/user
write_enable=NO
Шара для анонимов
# Включаем анонимный доступ anonymous_enable=YES # Разрешаем вход без пароля no_anon_password=YES # Разрешаем любые операции записи (удаление, переименование, создание папок) write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES # Задаем домашнюю директорию для анонима (например, /srv/ftp) anon_root=/srv/ftp # Убираем системные ограничения на запись в корневой каталог FTP allow_writeable_chroot=YES
# 1. Создаем базовую папку и разрешаем анониму скачивание (чтение) sudo mkdir -p /srv/ftp sudo chown nobody:nogroup /srv/ftp sudo chmod 555 /srv/ftp # 2. Создаем подпапку для загрузки файлов и полного доступа (запись, удаление) sudo mkdir -p /srv/ftp/upload sudo chown nobody:nogroup /srv/ftp/upload sudo chmod 777 /srv/ftp/upload
