Возможно вы искали: 'Warriors, The (2005)'

May 15 2025 18:24:31
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Виртуальные серверы на базе VSFTPD (ftp virtual)

Виртуальные серверы на базе VSFTPD (ftp virtual)

Ключевые слова: ftp, virtual, (найти похожие документы)

From: CoderInside <coder@linuxportal.vrn.ru.>
Newsgroups: email
Date: Mon, 27 Feb 2007 14:31:37 +0000 (UTC)
Subject: Виртуальные серверы на базе VSFTPD


Источник: Воронежский Linux портал


Содержание

1 Введение
2 Установка сервера
3 Теория реализации виртуальных FTP серверов
4 Установка xinetd
5 Создание общей структуры каталогов
6 Настройка анонимного сервера
7 Настройка сервера с доступом только по учетным записям


Введение

В статье рассматривается один из способов создания виртуальных FTP
серверов на базе "самого быстрого и безопасного" FTP демона -
VSFTPD. В примере рассматривается создание
двух виртуальных серверов. Первый - полностью анонимный, с двумя
директориями pub и incoming (наверное самый распространенный вариант). В
каталоге incoming пользователи смогут создавать директории, загружать и
скачивать файлы. Удалять закачанное - нельзя. В будущем содержимое этой
директории должно анализироваться администратором ftp сервера.
Администратор должен удалять мусор а все нужное и полезное перемещать в
директорию pub. К директории pub пользователи имеет доступ только для
чтения. Второй - с доступом только по учетным записям. Аккаунт anonymous
отсутствует. "Изюминка" его реализации - индивидуальная конфигурация для
каждого пользователя. Итак, начнем...


Установка сервера

# installpkg vsftpd-2.0.5-i486-1.tgz


Создаем загрузочный скрипт /etc/rc.d/rc.vsftpd


#!/bin/sh

ftp_start()
{
echo "Starting VSFTPD: "

if ! ps axc | grep -q " vsftpd" ; then
vsftpd &
else
echo "VSFTPD already running!"
fi
}

ftp_stop()
{
if ps axc | grep -q " vsftpd" ; then
killall vsftpd
else
echo "VSFTPD not running!"
fi
}

ftp_restart()
{
ftp_stop
sleep 1
ftp_start
}

case "$1" in
'start')
ftp_start
;;
'stop')
ftp_stop
;;
'restart')
ftp_restart
;;
*)
echo "usage $0 start|stop|restart"
esac


Делаем его исполняемым

# chmod a+x /etc/rc.d/rc.vsftpd


По умолчанию, домашняя директория пользователя FTP - /home/ftp. Я предпочитаю
все что предоставляет компьютер как сервер - размещать в директории /srv.
Например /srv/ftp, /srv/samba, /srv/www. Имхо так как-то порядка в системе
больше :) Но это только мое ИМХО, а так - "на вкус и цвет все фломастеры
разные" ;) Открываем файл /etc/passwd, ищем пользователя ftp и меняем ему
домашнюю директорию на /srv/ftp. Если вы предпочитаете другое расположение
- замените все пути описанные ниже с /srv/ftp на ваши.

Теория реализации виртуальных FTP серверов

Виртуальные хосты на VSFTPD можно организовать двумя способами. Первый
способ: запустить нужное количество серверов в режиме демона и в
конфигурационном файле каждого сервера указать слушаемые IP адреса
listen_address=x.x.x.x. Т.е. если нужно 10 вируальных FTP серверов -
нужно запусть 10 копий vsftpd. Как видно это не самый лучший способ.
Врядли к этим 10 серверам постоянно будут подключены клиенты. Гораздо
экономнее запускать VSFTPD по требованию от суперсервера. Стандартный
inetd входящий в поставку дистрибутива Slackware нам не подойдет потому,
что в нем нельзя указать IP на котором будут слушаться соединения.
Заменим inetd на xinetd.


Установка xinetd

Останавливаем суперсервер

# /etc/rc.d/rc.inetd stop


Удаляем inetd

# removepkg inetd


Делам файл /etc/rc.d/rc.inetd неисполняемым

# chmod a-x /etc/rc.d/rc.inetd


Устанавливаем xinetd

# installpkg xinetd-2.3.14-i486-1bms.tgz


Переименовываем файл rc.xinetd.new в rc.xinetd

mv /etc/rc.d/rc.xinetd.new /etc/rc.d/rc.xinetd


Делам его исполняемым

chmod a+x /etc/rc.d/rc.xinetd


Из файла /etc/rc.d/rc.local.new копируем строки запуска сервера в наш
файл /etc/rc.d/rc.local. Руками переписывать - лень, перенаправим вывод
всего файла в конец нашего rc.local. Откроем файл /etc/rc.d/rc.local.new
и удалим из него все строки до # Start the xinetd server. Копируем текст
в наш rc.local

# cat /etc/rc.d/rc.local.new >> /etc/rc.d/rc.local


Теперь файл можно удалить.

# rm /etc/rc.d/rc.local.new


Запускаем xinetd

# /etc/rc.d/rc.xinetd start


Пробуем подключиться к FTP

# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
Name (127.0.0.1:coder): 530 This FTP server is anonymous only.
ftp>


Запустился! Посмотреть кто когда и что хотел запустить можно через cat
/var/log/servicelog.

06/12/17@13:29:36: START: ftp pid=3195 from=127.0.0.1


Видим что 17-го декабря 2006, по запросу с адреса 127.0.0.1 был запущен ftp сервер и ему был присвоем pid 3195. Здорово! Чтобы было еще интереснее в файле /etc/xinetd.conf допишем строку

log_on_success = HOST


до

log_on_success = HOST USERID PID DURATION EXIT


Перезапустим сервер и теперь в логах будет оботбражаться даже
продолжительность вызванных соединений ;)


Создание общей структуры каталогов

Займемся виртуальными хостами. Т.к. виртуальных FTP может быть и больше
10, чтобы не мусорить в /etc желательно создать директорию /etc/vsftpd

# mkdir /etc/vsftpd


А в нем, так как у нас будет два вируальных FTP сервера - создать
директории для каждого из них Например у нас будут 2 ftp на адресах
192.168.226.3 (ftp1) и 192.168.226.4 (ftp2).

# mkdir /etc/vsftpd/192.168.226.3
# mkdir /etc/vsftpd/192.168.226.4


Скопируем в эти каталоги конфигурационный файл.

# cp /etc/vsftpd.conf /etc/vsftpd/192.168.226.3/vsftpd.conf
# cp /etc/vsftpd.conf /etc/vsftpd/192.168.226.4/vsftpd.conf


Тоже касается и логов. Создаем директорию /var/log/vsftpd. В ней будут
файлы с логами соответствующих виртуальных FTP серверов. Т.е. в
/etc/vsftpd/192.168.226.3/vsftpd.conf ищем строчку

xferlog_file=/var/log/vsftpd.log


и меняем ее на

xferlog_file=/var/log/vsftpd/192.168.226.3.log


Тоже самое для второго FTP.

Прописываем создание двух дополнительных IP адресов при запуске. В конец
файла /etc/rc.d/rc.inet1 добавляем

/sbin/ifconfig eth0:1 192.168.226.3 netmask 255.255.255.0 up
/sbin/ifconfig eth0:2 192.168.226.4 netmask 255.255.255.0 up


Сохраняемся, выходим.

И создаем их сейчас:

# ifconfig eth0:1 192.168.226.3 netmask 255.255.255.0 up
# ifconfig eth0:2 192.168.226.4 netmask 255.255.255.0 up


Добавим записи о FTP серверах в DNS (прямая зона)

ftp1 IN A 192.168.226.3
ftp2 IN A 192.168.226.4


Перезапустим DNS сервер

# /etc/rc.d/rc.bind restart


Открываем файл /etc/xinetd.conf и множим секцию ftp. В одну секцию
добавляем директиву

bind = 192.168.226.3


а строку server_args = vsftpd допоолняем до

server_args = vsftpd /etc/vsftpd/192.168.226.3/vsftpd.conf


в другую

bind = 192.168.226.4


и

server_args = vsftpd /etc/vsftpd/192.168.226.4/vsftpd.conf


Перезапустим xinetd

# /etc/rc.d/rc.xinetd restart


Теперь xinetd в зависимости на какой IP обратились, будет запускать
vsftpd с соответствующими конфигурационными файлами. Внимание:
интерфейсы и записи в DNS должны существовать до того как будет
перезапущен xinetd! Иначе ничего не получиться. Т.е. сначала создаем
интерфейсы (или дополнительные IP адреса), если будет использоваться DNS
- прописываем адреса в DNS и только потом запускаем/перезапускаем
xinetd.


Настройка анонимного сервера

Создадим струткуру каталогов для анонимного сервера. Директория incoming
предназначена для закачки файлов пользователями. pub - только для
скачивания.

Структура анонимного FTP сервера:

# mkdir /srv/ftp/192.168.226.3
# mkdir /srv/ftp/192.168.226.3/incoming
# mkdir /srv/ftp/192.168.226.3/pub


Для anonymous пользователя корневым будут каталог
/srv/ftp/192.168.226.3. Тем самым создается иллюзия что это разные
серверы. Хотя на самом деле - просто разные директории.

Пропишем это в конфигруационном файле:

anon_root=/srv/ftp/192.168.226.3


Чтобы сделать директорию incoming доступной для записи - нужно
установить ее в группу ftp и дать этой группе права на запись.

# chgrp -R ftp /srv/ftp/192.168.226.3/incoming/
# chmod -R g+w /srv/ftp/192.168.226.3/incoming/


Вот в принципе и все. На этом можно считать настройку анонимного ftp
сервера законченной. Вот листинг конфигурационного файла

anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
file_open_mode=0777
anon_root=/srv/ftp/192.168.226.3

local_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd/192.168.226.3.log
xferlog_std_format=YES
ls_recurse_enable=YES


Настройка сервера с доступом только по учетным записям

Создадим файл userlist, в который будем прописывать пользователей
которым разрешен доступ на FTP.

# touch /etc/vsftpd/192.168.226.4/userlist


Пропишем в него первым делом самого себя :) у меня это пользователь
coder Создадим директорию для хранения индивидульных настроек для
каждого пользователя

# mkdir /etc/vsftpd/192.168.226.4/users


Создадим в этом каталоге файл для настроек пользователя coder

# touch /etc/vsftpd/192.168.226.4/users/coder


Пропишем в него все права и корневую директорию. Добавим:

cmds_allowed=ABOR,MKD,CWD,DELE,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SIZE,
STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

local_root=/srv/ftp/192.168.226.4/


Сообщим vsftpd о том, что мы будем использовать индивидуальные настройки
для каждого пользователя. Добавим в
/etc/vsftpd/192.168.226.4/vsftpd.conf следующие строки:

anonymous_enable=NO
local_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/192.168.226.3/userlist
user_config_dir=/etc/vsftpd/192.168.226.3/users


Все пользователи в Slackware по умолчанию принадлежат группе users.
Дадим всем пользователям группы users доступ на запись в
/srv/ftp/192.168.226.4.

# chgrp -R users /srv/ftp/192.168.226.4
# chmod -R g+w /srv/ftp/192.168.226.4


Для примера, также создадим пользователя webmaster, который в теории
должен через этот FTP заливать файлы на корпоративный сайт.

# adduser webmaster


Установим пароль

# passwd webmaster


В директории /srv/ftp/192.168.226.4/users/ создадим файл настроек
пользователя webmaster.

# touch /srv/ftp/192.168.226.4/users/webmaster


Пропишем в него директорию в которая будет корневой для пользователя (в
данном случае директория с сайтом)

local_root=/srv/www/www.mysite.lan/


Сменим группу и пользователя директории с сайтом на webmaster:users

# chown -R webmaster:users /srv/www/www.mysite.lan


Чтобы webmaster мог быстро перейти на сайт зайдя например по SSH или с
SAMBA, в его домашней директории создадим символьную ссылку на
директорию с web сайтом.

# ln -s /srv/www/www.mysite.lan /home/webmaster/www


Вот в принципе и все. Можно проверять.

Полное содержание vsftpd.conf


anonymous_enable=NO
file_open_mode=0777

local_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/192.168.226.4/userlist
user_config_dir=/etc/vsftpd/192.168.226.4/users
chroot_local_user=YES
write_enable=YES
local_umask=022

ftpd_banner=Welcome to FTP server

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd/192.168.226.4.log
xferlog_std_format=YES
ls_recurse_enable=YES
1136 Прочтений •  [Виртуальные серверы на базе VSFTPD (ftp virtual)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Виртуальные серверы на базе VSFTPD ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка