Задача:
Установить FTP сервер, выделив публичную папку для анонимных пользователей (только чтение) и пользовательские директории (чтение — запись).
vsftpd
vsftpd — Very Secure FTP Daemon или Очень Защищенный FTP Демон, является одним из самых простых в конфигурировании и наиболее часто используемым FTP сервером. vsftpd обслуживает ftp серверы debian, redhat, ubuntu и прочих крупных компаний. Благодаря предельной простоте настройки, поднятие ftp сервера с помощью vsftpd редко занимает более 5 — 10 минут.
Установка vsftpd
Установите vsftpd для вашего дистрибутива:
Для Debian-based систем (Ubuntu):
apt-get install vsftpd
Для RedHat-based систем (Fedora, CentOS)
yum install vsftpd
Конфигурирование vsftpd
Конфигурирование vsftpd осуществляется редактированием файла /etc/vsftpd/vsftpd.conf. Комментариев (при минимальном знании английского) обычно достаточно, чтобы разобраться что к чему :):
- anon_root — директория для анонимных пользователей (/var/ftp/ по умолчанию в большинстве дистрибутивов)
- anonymous_enable — разрешить доступ анонимным пользователям?
- local_enable — разрешить доступ локальным пользователям?
- write_enable — разрешить запись?
- anon_upload_enable — разрешить запись анонимным пользователям?
Таким образом, можно отредактировать эти записи в конфиге следующим образом (не стоит стирать остальные опции если вы не знаете, что они делают ;)):
#Разрешаем гостевой доступ anonymous_enable=YES # # Разрешаем доступ локальным пользователям local_enable=YES # # Разрешаем запись write_enable=YES # # Запрещаем запись анонимным пользователям anon_upload_enable=NO # # Директория по умолчанию, для гостей: anon_root=/var/ftp
Итог:
все гости попадают в /var/ftp
все пользователи указавшие логин и пароль входа в систему попадают в свою домашнюю директорию, к примеру пользователь vasya попадет после логина в /home/vasya
Примечания, для систем использующих SELinux (RedHat, Fedora,…)
Следующие политики, по умолчанию выключенны:
- allow_ftpd_anon_write
запись анонимным пользователям - allow_ftpd_full_accessполный доступ
- allow_ftpd_use_cifs
разрешить расшаривание сетевых-windows папок - allow_ftpd_use_nfs
разрешить расшаривание NFS - ftp_home_dirразрешить пользователям доступ до домашних директорий
Для разрешения политики, используйте:
setsebool -P переменная 1
например
setsebool -P ftp_home_dir 1
разрешит доступ через ftpd к домашним директориям.
ключ -P обеспечивает сохранение настройки после перезагрузки
Для публичных папок, доступных всем пользователям для записи, следует изменить политику следующим образом:
chcon -t public_content_rw_t /var/ftp/incoming
Источник: https://easylinux.ru/node/195
Просмотров: 1259