Личный опыт в системном администрировании Анонимный ftp сервер на debian
разу оговорюсь, установка будет производиться на Debian squeeze, а в качестве Ftp сервера мы используем proftpd.
Для начала нам нужен пользователь который будет являться нашим анонимусом , создадим его с помощью команды: useradd пользователь –home домашний каталог –shell /bin/false Вместо
пользователя нужно указать любое подходящее имя например ftpanonymous, а
там где домашний каталог, путь к каталогу куда будет попадать наш ново
испеченный анонимус, --shell /bin/false отвечает за то, чтобы не давать
оболочку в системе нашему пользователю из соображений безопасности. Ну а
про –group вы наверное догадались , если нет, то этот параметр означает
что мы добавляем пользователя в группу nogroup .
Следующим шагом будет назначение прав на папки для анонимуса, но для начала нам нужно создать эти папки.
Делаем это следующей командой mkdir /домашний каталог/пользователя/которого мы создали/.
Сделаем две папки, например upload и download, в upload анонимусы смогут
записывать файлы, а из download качать нужные им файлы, но уже без
права записи. Теперь присвоим им права вот такой командой: chown -R пользователь:nogroup /каталог/ftp/пользователя/папка.
Повторите туже команду, но уже для другого каталога, этой командой мы
дадим полные права указанному пользователю и группе на необходимую нам
папку.
Все почти готово, теперь установим сам proftpd вот такой командой: apt-get install proftpd. Во время установки вас спросят, как мы будем запускать наш ftp, выберите самостоятельно, как показано на скриншоте.
После того, как все установилось нам нужно еще кое-что поменять в
конфигурационном файле нашего фтп, который в свою очередь находится по
этому пути /etc/proftpd/proftpd.conf.
Для начала давайте сделаем копию нашего конфиг файла, примерно вот так: cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.original
после выполнения этой команды создастся точная копия файла proftpd.conf,
только с другим названием. Кстати, для справки, мы это делаем для того,
чтобы случайно не накуралесить с файлом конфигурации.
Итак, копию конфига мы сделали, теперь открываем конфигурационный любым текстовым редактором, например nano, вот так : nano /etc/proftpd/proftpd.conf.
И редактируем примерно так, как написано ниже
Находим следующий параметр и вместо слова Debian вписываем название нашего ftp сервера. ServerName "Debian"
Далее раскоментируем параметр, который не даст нашим анонимным
пользователям гулять по всей системе, а ограничит их домашним каталогом. # DefaultRoot ~
Параметр port отвечает за то, на каком порту работает наш ftp сервер, по умолчанию 21. Port 21
Запретим подключаться от супер пользователя RootLogin off
Этот параметр отвечает за максимально возможное количество одновременно запущенных процессов. MaxInstances 30
Пользователь и группа от которых работает proftpd. User proftpd
Group nogroup
Маска для файлов и папок Umask 022 022
Разрешаем перезаписывать файлы ? AllowOverwrite on
Секция настроек для анонимного пользователя
User #(анонимный пользователь)
Group #(группа анонимного пользователя, nogroup)
UserAlias anonymous #(сюда тоже вписываем нашего анонимного пользователя)
RequireValidShell off #Авторизовать пользователя если он имеет shell в системе?
MaxClients 10 # Максимальное количество одновременно подключенных
# пользователей
# Запрещаем запись везде
DenyAll
# Разрешаем записывать в каталог upload
AllowAll
# Конец секции для анонимных пользователей.
Ну вот собственно и все, перезапускаем наш настроенный, анонимный ftp сервер командой: /etc/init.d/proftpd restart