Социалистическая продразверстка Vint (vint@townnet.ru) Спецвыпуск Xakep, номер #042, стр. 042-094-1 Организация ресурсов локальной сети FTP, IRC, ICQ, Samba... как без всего этого прожить нашему будущему пользователю? Да никак, иначе он просто захиреет, зачахнет, заскучает и перейдет к другому прову. Поэтому – будем поднимать. В этой статье ты найдешь минимум текста и максимум действий, поэтому не расслабляйся. Настройка FTP-сервера Как ни крути, а FTP-сервер нам просто необходим, ведь с помощью этого сервиса можно организовать быстрый, удобный и безопасный способ обмена файлами между пользователями сети. Посему – приступим. Сначала необходимо скачать последнюю версию сервера wu-ftpd отсюда: www.wu-ftpd.org (кстати, весь описанный софт есть и на диске, поэтому качать не обязательно). После этого собираем и устанавливаем: # tar xzpf wu-ftpd-***.tar.gz; распаковываем #./configure --disable-dnsretry --enable-quota --enable-pam --disable-newlines --disable-virtual --disable-anonymous --enable-ls Эти параметры означают следующее (порядок сохранен): при ошибке DNS запроса - забить на него (повышение производительности сервера); включаем поддержку дисковых квот; возможности PAM работы; удаление пустых строк запроса (повышение устойчивости к DoS-атакам); удалим поддержку виртуальных серверов (для нас - лишняя трата ресурсов); запрещаем анонимный доступ (повышение безопасности); использовать встроенную команду “ls” вместо родной системной “ls” (опять же повышение безопасности). У FTP-сервера компиляция и пост-установочные действия несколько расширены: Исполняем от root’a: # make; обычные команды # make install; установки # install -m 755 util/xferstats /usr/sbin/; устанавливаем “xferstats”, помогающие следить за работой сервера # touch /var/log/xferlog; создаем файл регистрации для нее # chmod 600 /var/log/xferlog; чтение-запись только root’om # cd /usr/sbin/ # ln -sf in.ftpd /usr/sbin/wu.ftpd ; символические ссылки # ln -sf in.ftpd /usr/sbin/in.wuftpd ; необходимы для грамотного конфига # strip /usr/bin/ftpcount ; удаляем всю отладочную инфу # strip /usr/bin/ftpwho ; из исполняемых файлов # strip /usr/sbin/in.ftpd # strip /usr/sbin/ftpshut # strip /usr/sbin/ckconfig # strip /usr/sbin/ftprestart А теперь удалим все исходники: # cd /var/tmp # rm -rf wu-ftpd-***/ wu-ftpd-***.tar.gz И добавим пользователя для работы с фтп-сервером: # mkdir /home/ftp ; общий для всех пользователей фтп-каталог # useradd -d /home/ftp/ftpadmin/ -s /dev/null ftpadmin > /dev/null 2>&1 # passwd ftpadmin ; ставим ftpadmin’y пасс для работы Хорошо бы еще позаботиться о защите своего сервера и убрать возможность вызова шелла пользователям фтп. Для этого – просто добавим в /etc/shells строку: /dev/null. Ничего оригинального. Да, и еще - замени в файле /etc/passwd строку для пользователя “ftpadmin”: ftpadmin:x:502:502::/home/ftp/ftpadmin/:/dev/null на: ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null Следующим шагом мы организуем файл /etc/ftphosts и добавим в него хосты своей локалки: allow ftpadmin 192.168.0 ; разрешаем deny ftpadmin 192.168.5 ; запрещаем И выставим ему необходимые права: chmod 600 /etc/ftphosts |