Документация по ОС FreeBSD Пятница, 26.04.2024, 05:45
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » FTP

vsftpd с использованием системных пользователей [2010]
Решил поделиться своим опытом настройки ftp-сервера vsftpd. В данном варианте настройки я предлагаю вам реализовать ftp-пользователей, используя системных. Быть может кому-нибудь да пригодится.

Шаг 1. Установка vsftpd

Для начала поставим vsftpd:
$ whereis vsftpd
vsftpd: /usr/ports/ftp/vsftpd
$ cd /usr/ports/ftp/vsftpd
# make && make install

Заранее скопируем конфигурационный файл vsftpd, чтобы в случае чего вернуть все на место:
# cp /usr/local/etc/vsftpd.conf /usr/local/etc/vsftpd.conf.bak


Шаг 2. Настройка vsftpd.conf


Пришло время настроить наш сервер на корректную работу с пользователями. Открываем файл/usr/local/etc/vsftpd.conf и приводим его к такому виду:
# пусть наш сервер слушает 21 порт...
listen=yes
# ...и работает в бэкграунде
background=yes

# разрешаем анонимов и не спрашиваем их пароль
anonymous_enable=yes
no_anon_password=yes
# разрешаем локальных пользователей...
local_enable=yes
# ...и запираем их в своей директории
chroot_local_user=yes
# папка конфигов пользователей
user_config_dir=/usr/local/etc/vsftpd_users
# юзер, от которого работают анонимы (создается при установке vsftpd)
ftp_username=ftp
# запрещаем пользователям менять права доступа на файлы
chmod_enable=no

# все файлы анонимы будут сохранять с маской 777 (все всем разрешено)
file_open_mode=0777
# настраиваем права доступа на закачиваемые файлы
anon_umask=022
local_umask=022

# включим возможность работы в пассивном режиме
pasv_enable=yes
# указываем диапазон портов для пассивного режима:
# sysctl net.inet.ip.portrange.first
# sysctl net.inet.ip.portrange.last
pasv_min_port=49152
pasv_max_port=65535

# для анонимов поставим ограничение на число подключений
max_per_ip=5

# разрешаем запись на сервер...
write_enable=yes
# ...и разрешаем анонимам закачивать файлы и...
anon_upload_enable=yes
# ...создавать директории
anon_mkdir_write_enable=yes
# запрещаем остальные действия с записью (удаление, переименование итп)
anon_other_write_enable=no
# пусть анонимы видят все файлы на сервере
anon_world_readable_only=no

# не будем показывать пользователям сообщение папки
dirmessage_enable=no

# включаем логирование
xferlog_enable=yes


Шаг 3. Создание структуры сервера

Нам надо создать файловую структуру сервера. Папка ftp по умолчанию - /var/ftp. Создадим в ней необходимые папки и раздадим корректные права доступа:
# mkdir /var/ftp/pub
# mkdir /var/ftp/incoming
# chown -R ftp:ftp /var/ftp
# chmod -R 755 /var/ftp


Шаг 4. Настройка пользователей

Пришло время создать пару-тройку пользователей для нашего сервера. Процесс создания пользователя состоит из трех этапов - добавление пользователя в систему, создание его конфигфайла и создание его домашней директории.

I этап.
Создаем пользователя:
# pw useradd -n user_1 -d /var/ftp/incoming/user_1 -s /usr/bin/false
# passwd user_1

II этап.
Создаем конфигфайл. Конфиг создается в директории, описанной в vsftpd.conf (user_config_dir). Если директория не была создана, то делаем её вручную:
# mkdir /usr/local/etc/vsftpd_users

Теперь создаем конфиг, имя которого представляет собой имя нашего свежесозданного пользователя. Следуя примеру это будет /usr/local/etc/vsftpd_users/user_1. Сразу же впишем основные настройки для нашего юзера (значения параметров см. в вышеприведенном vsftpd.conf):
local_root=/var/ftp/incoming/user_1
anon_other_write_enable=yes
max_per_ip=0

III этап.
Осталось создать папку для нашего пользователя и настроить на нее права доступа. Приступаем:
# mkdir /var/ftp/incoming/user_1
# chmod -R 755 /var/ftp/incoming/user_1
# chown -R user_1:ftp /var/ftp/incoming/user_1


Шаг 5. Запуск сервера

Все почти закончено - осталось лишь запустить наш сервер. Добавляем в /etc/rc.conf строчку, которая будет ответственна за запуск vsftpd:
# echo "vsftpd_enable="YES"" >> /etc/rc.conf

Перезагружаемся и проверяем работоспособность сервера. Вот и все

Приложение
Чтобы удобнее было работать с пользователями на ftp, прилагаю небольшой скриптик. С его помощью можно добавлять/удалять пользователей посредством команд:
# uftp add
# uftp delete

Cкрипт для автоматизации управления пользователями ftp



Источник: http://www.lissyara.su/?id=2128
Категория: FTP | Добавил: oleg (28.11.2010) | Автор: freesky
Просмотров: 1367 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024