admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Вт Мар 20, 2012 2:39 pm Заголовок сообщения: ftp |
|
|
Настройка PureFTP
http://www.hilik.org.ua/настройка-pureftpd/
Приступаем к установке из портов, с поддержкой русского языка:
cd /usr/ports/ftp/pure-ftpd/
make WITH_LANG=russian install clean
При этом появится конфигурационное меню в котором мы выбираем:
1. Support for PAM authentication – авторизация через pam – нужно для авторизации
2. Enable privilege separation – разделение привелегий
3. Per-user concurrency limits – возможность указывать количество соединений для пользователя
4. Bandwidth throttling – ограничение на отдачу/прием трафика
5. Show pure-ftpd welcome upon session start – показывать приглашение сервера (мы установили поддержку русского – баннер тоже будет на русском)
6. Support for the sendfile syscall – использовать sendfail для передачи файлов.
После того как установка завершена, приступаем к настройке.
Пример конфигурационного файла /usr/local/etc/pure-ftpd.conf:
Код: | #Делать chroot пользователю в его home
#пользователь не сможет выйти из своего домашнего каталога
ChrootEveryone yes
BrokenClientsCompatibility no
#максимальное число одновремменных подключений
MaxClientsNumber 50
Daemonize yes
#с одного адреса можно соединится не более 8 раз
MaxClientsPerIP 8
VerboseLog yes
#Показывать файлы начинающиеся на точку
#в UNIX системах такие файлы считаются скрытыми
DisplayDotFiles yes
#Запретим анонимные подключения
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
#Не делат обратное преобразование ip в имя в лог файлах
DontResolve yes
#Ограничим время простоя пользователя 15 минутами
MaxIdleTime 15
PAMAuthentication yes
#Ограничим число вложенных каталогов и файлов в
#листинге - первая цифра - число файлов вторая
#количество вложенных директорий
LimitRecursion 2000 8
AnonymousCanCreateDirs no
#При LA(загружености системы) 4 - запретим подключения
MaxLoad 4
#Ограничение пропускной способности пользователям 8 килобайт в секунду
UserBandwidth 8
#первая цифра маска создания директории,
#вторая цифра маска создания файлов
Umask 133:022
#Подключатся разрешается пользователям с UID больше 100
MinUID 100
#Запрет команды FXP, эта команда позволяет
#одному FTP серверу скачивать со второго
#сервера
AllowUserFXP no
AllowAnonymousFXP no
#Запрет на запись файлов начинающихся с точки
ProhibitDotFilesWrite no
#Запрет на чтение файлов начинающихся с точки
ProhibitDotFilesRead no
#запрет на перезапись файлов,
#файлы будут автоматически переименовываться
#с добавлением цифры - версии файла
AutoRename no
#Запрет на закачку(заливку) файлов на сервер анонимным
#gjkmpjdfntkzv
AnonymousCantUpload yes
LogPID yes
#Запрет выполнения команды chmod
NoChmod yes
#Запрет на удаление файлов
KeepAllFiles yes
#Сервер будет создавать домашние папки,
#если они отсутствуют
CreateHomeDir yes
PIDFile /var/run/pure-ftpd.pid
#запрет на закачку файлов на сервер,
#если занято 99 и более процентов диска
MaxDiskUsage 99 |
На этом настройка завершена.
Теперь сделаем так, что бы pure-ftpd автоматически стартовал.
Добавим в /etc/rc.conf:
pureftpd_enable="YES"
Для того, что бы работала авторизация через PAM, необходимо разместить создать файл /etc/pam.d/pure-ftpd, такого содержания:
pure-ftpd auth required pam_nologin.so
#pure-ftpd auth sufficient pam_kerberosIV.so
#pure-ftpd auth sufficient pam_krb5.so
#pure-ftpd auth required pam_opie.so
pure-ftpd auth required pam_unix.so try_first_pass
#pure-ftpd account required pam_kerberosIV.so
#pure-ftpd account required pam_krb5.so
pure-ftpd account required pam_permit.so
pure-ftpd session required pam_permit.so
#pure-ftpd session required pam_kerberosIV.so
#pure-ftpd session required pam_krb5.so
PAM авторизация хороша тем, что вы можете использовать разные модули от разных производителей, использующие разные источники авторизации, внося их в этот файл. В нашем файле первой строкой стоит проверка на наличие у пользователя «правильного» shellа (командной оболочки типа bash или tcsh). По условиям задачи стоящей у меня, нельзя было допускать ssh соединение пользователей, которые должны были иметь возможность размещать свои файлы по ftp, поэтому эту строку я закомментировал. А в дальнейшем вообще перевел на авторизацию MySQL. О чем обязательно напишу статью в ближайшее время.
Можно запускать:
/usr/local/etc/rc.d/pure-ftpd start
Проверяем:
ps afx|grep pure-ftpd
54371 ?? Is 0:00,02 pure-ftpd (SERVER) (pure-ftpd)
Настройка завершена. |
|