====== 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