в нем есть встроенный FTP сервер - vsftpd
требуется настроить его следующим образом:
доступ на анонимных пользователей - читать только папку /var/ftp/ - она же корень, и пользователи в ней заперты...
и некий пользователь (с паролем или ключем) запертый в этой же папке но с возможностью заливать туда файлы...
но это как хочется, но не как получается (
а получается следующая гадость:
через встроенный оболочку можно выбрать только системного пользователя (ну допустим), но нельзя запереть его в конкретном каталоге ... он видит всю систему (что не есть гуд!) и запереть его пусть даже в собственно каталоге не получается ...
что же касается анонимных пользователей то несмотря на то, что они включены, сервер постоянно сообщает о "мертвых детях"
вот собственно фаил конфига:
# The configuration file for vsftpd.
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf(5) for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf(5) manual page to get a full idea of vsftpd's
# capabilities.
#
# Uncomment this to disallow the PORT method of obtaining a data connection.
#port_enable=NO
#
# Uncomment this to disallow the PASV method of obtaining a data connection.
#pasv_enable=NO
#
# разрешить вход дядюшке anonymous'у?
anonymous_enable=YES
#
# разрешать вход локальным пользователям.
local_enable=YES
#
# Разрешить любую форму команды записи FTP.
write_enable=YES
#
# umask по умолчанию для локальных юзеров 077. Возможно хочется
# изменить на 022, (022 используется в большинстве ftpd's)
#local_umask=022
#
# The minimum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
# The default is shown below.
#pasv_min_port=49152
#
# The maximum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
# The default is shown below.
#pasv_max_port=65535
#
# Разрешить аплоад для анонимусов.
# Имеет смысл когда разрешена запись (write_enable=YES)
# кроме того каталог должен быть доступен для записи FTP юзером.
anon_upload_enable=NO
#
# Разрешить анонимусу создавать каталоги
anon_mkdir_write_enable=YES
#
# Разрешить мессаги каталогов - сообщения которые выдаются при
# входе в определенную директорию.
dirmessage_enable=YES
#
# логить аплоад/даунлоад
xferlog_enable=YES
#
# убедиться что PORT коннекты вылазят из порта 20 (ftp-data).
connect_from_port_20=YES
#
# Можно изменять автоматически владельца на аплоадных файлах
# естественно использовать тут root'а я не советую
chown_uploads=YES
chown_username=whoever
#
# в какой файл пишем логи
#xferlog_file=/var/log/vsftpd.log
#
# можно увидеть лог и в формате xferlog
#xferlog_std_format=YES
#
# таймаут на открытую && неиспользующуюся сессию.
#idle_session_timeout=600
#
# таймаут на коннект по порту data.
#data_connection_timeout=120
#
# рекомендуется создать в системе пользователя, которого
# ftp стервер будет использовать как конкретно униженного в своих
# правах юзверя.
#nopriv_user=novsftpd
#
# Это для распознования асинхронных ABOR запросов.
# не рекомендуется по соображениям безопасности (этот код довольно
# сложный (и проверять его разработчикам видимо влом Demige)).
# А если его не включить то возможно старые FTP клиенты вас не поймут.
#async_abor_enable=YES
#
# По-умолчанию сервер будет разрешать ASCII режим, но фактически
# игнорировать реквест. Здесь можно разрешить использовать ASCII.
# Есть опасность при вкл. ascii_download_enable что некоторые нехорошие
# юзеры будут тормозить вашу машину командой "SIZE /большой/файл" в
# ASCII режиме.
# Эти ASCII опции разбиты на аплоад и даунлоад т.к. вы можете возжелать
# разрешить ASCII-аплоады (для работы аплоад скриптов), без
# разрешения даунлоада из-за DoS риска по командам SIZE и ASCII.
# Поддержка ASCII на стороне клиента должна быть.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
#Баннер при входе
ftpd_banner=Welcome to Student FTP
#
# файл неразрешенных email адресов.
# юзабельно для защиты от DoS атак.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# можно разрешить некоторым юзерам chroot()ится в их домашний каталог
# если chroot_local_user=YES, тогда это будет листинг юзеров, которые
# не могут chroot()ится.
# если chroot_local_user=NO то в ftp_chroot_list прописывается какого
# виртуального юзера куда chroot`ить
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#
# для локальных юзверей
#chroot_local_user=YES
# можно разрешить опцию "-R" для встроенного ls.
# по умолчанию запрещена т.к. сильно загружает систему на больших сайтах
# Тем не менее некоторые FTP-клиенты такие как "ncftp" и "mirror" предпологают
# ее наличие. Так что лучше ее включить.
#ls_recurse_enable=YES
#
# If enabled, all user and group information in directory listings will be
# displayed as "ftp".
# The default is to hide user and group information.
#hide_ids=YES
#
# If enabled, vsftpd will display directory listings with the time in your
# local time zone. The default is to display GMT. The times returned by the
# MDTM FTP command are also affected by this option.
#use_localtime=YES
# это поле добавил сам - попытался запереть анонимных пользаков в этой папке...
anon_root=/var/ftp/
anon_other_write_enable=NO
user_config_dir=/etc/vsftpd/user_conf