в /etc/proftpd/proftpd.conf змінити чи встановити параметр
ServerIdent Off
Showing posts with label ftp. Show all posts
Showing posts with label ftp. Show all posts
Friday, April 29, 2011
Tuesday, October 5, 2010
налаштування анонімного доступу в vsftpd
треба було мені закинути кілька файлів на мій компютер з Убунту .. от і вирішив я поставити фтп сервер ... вибрав я vsftpd ... але шоб не бавитися з авторизацією надумав дати доступ для анонімних користувачів
конфіг vsftpd.conf вийшов такий
listen=YES
anonymous_enable=YES
anon_root=/home/ftp local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem
створив каталог куди анонімні користувачі заливатимуть файли
mkdir /home/ftp
і обовязково щоб користувач фтп не мав прав на запис в цей каталог, інікше про спробі залогінитися vsftpd буде видавати попередження
500 OOPS: unrecognised variable in config file: anon_root
і анонімний доступ не працюватиме, тому виконаємо
chmod 775 /home/ftp
далі треба обовязково стоврити якийсь каталог в який би користувач ftp міг би записувати, тому :
mkdir /home/ftp/incoming
chown ftp /home/ftp/incoming
якщо цього не зробити, а прбувати записувати файли по фтп прямо у кореневий католог отримаємо помилку
553 Could not create file
все, запускаємо vsftpd командою
service vsftpd start
конфіг vsftpd.conf вийшов такий
listen=YES
anonymous_enable=YES
anon_root=/home/ftp local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem
створив каталог куди анонімні користувачі заливатимуть файли
mkdir /home/ftp
і обовязково щоб користувач фтп не мав прав на запис в цей каталог, інікше про спробі залогінитися vsftpd буде видавати попередження
500 OOPS: unrecognised variable in config file: anon_root
і анонімний доступ не працюватиме, тому виконаємо
chmod 775 /home/ftp
далі треба обовязково стоврити якийсь каталог в який би користувач ftp міг би записувати, тому :
mkdir /home/ftp/incoming
chown ftp /home/ftp/incoming
якщо цього не зробити, а прбувати записувати файли по фтп прямо у кореневий католог отримаємо помилку
553 Could not create file
все, запускаємо vsftpd командою
service vsftpd start
Tuesday, January 12, 2010
віртаільні користувачі в proftpd (virtaul users ftp)
є потреба для хостингу зробити віртаільних користувачів в proftpd, для того щоб не було проблем з правами на файли (php), які будуть виконуватися під сисмтемним облікоми записом www (власника apache) ..
якщо планується всього декілька користувачів то без проблем можна скристатися можливість створення віртуальних користувачів в звичайному текстову файлі..
для цього,
1. зібрати proftpd з підтримкою authfile ..
в gentoo це робиться так
USE="authfile " emerge net-ftp/proftpd
якщо ставити вручну то модуль mod_auth_file має по замовчуванню поставитися..
дал в конфігураційному файлі proftpd.conf дописуємо ваш файл з користувачами
AuthUserFile /etc/proftpd/proftpd.passwd
2 далі залишається власне і створення віртуальних користувачів.. робиться це за допомогою команди ftpasswd , яку треба завантажити за адресою http://www.castaglia.org/proftpd/contrib/ftpasswd
далі надаємо їй право на виконання
chmod u+x ftpasswd
далі додаємо користувача
./ftpasswd --passwd --file=/etc/proftpd/proftpd.passwd --name=test --uid=80 --gid=80 --home=/home/www/ --shell=/bin/sh
uid i gid я спеціально ставлю той самий, під яким працює apache, щоб потім він без проблем читав і виконував файли, що залиті віртуальними користувачами.. (в мене немає потреба розділяти різним віртуальних користьувачів.. просто треба щоб кожен мав свій лоігн..)
якщо планується всього декілька користувачів то без проблем можна скристатися можливість створення віртуальних користувачів в звичайному текстову файлі..
для цього,
1. зібрати proftpd з підтримкою authfile ..
в gentoo це робиться так
USE="authfile " emerge net-ftp/proftpd
якщо ставити вручну то модуль mod_auth_file має по замовчуванню поставитися..
дал в конфігураційному файлі proftpd.conf дописуємо ваш файл з користувачами
AuthUserFile /etc/proftpd/proftpd.passwd
2 далі залишається власне і створення віртуальних користувачів.. робиться це за допомогою команди ftpasswd , яку треба завантажити за адресою http://www.castaglia.org/proftpd/contrib/ftpasswd
далі надаємо їй право на виконання
chmod u+x ftpasswd
далі додаємо користувача
./ftpasswd --passwd --file=/etc/proftpd/proftpd.passwd --name=test --uid=80 --gid=80 --home=/home/www/ --shell=/bin/sh
uid i gid я спеціально ставлю той самий, під яким працює apache, щоб потім він без проблем читав і виконував файли, що залиті віртуальними користувачами.. (в мене немає потреба розділяти різним віртуальних користьувачів.. просто треба щоб кожен мав свій лоігн..)
Sunday, January 10, 2010
тормозить proftpd (ftp)
Використовую proftpd в якосіт ftp серверу на всіх своїм машинах, так як він найпростіший та найзручніший в адмініструванні та можливостях, зокрема в ньому є дуже проста і потрібна можливість стврювати віртуальних користувачів у звичайних тесктових файлах, без громіздких баз даних... ( але зараз не про це.. )
після встановлення та налаштування... пробую зайти на proftpd...
і у відповілдь на ftp localhost отримує ддовге і нудне чекання і лише через декілька секунд запрошення на ввід лоігну та паролю. Першим чином потрібно відключити пошук зворотнього днс, оскільки толку мені з нього абсолютно ніякого, а часу забирає немало..
отож, в конфігураційному файлі proftpd.conf дописуємо ( або міняємо, якщо така дтректива вже є):
UseReverseDNS off
вже ніби трохи краще.. але ще далеко до того, чого б хотілося... після деяких пошуків я таки знайшов, чим саме займається protftpd при підєднанні до нього, а саме він пробує ідентифікувати клієнта. Відключити це можна відповідною директивою, отже дописуємо в той самий proftpd.conf :
IdentLookups off
перезапускаємо proftpd і все... пробуємо підключитися до нього і миттєво отримуємо запрошення на ввід лоігну та паролю ...
після встановлення та налаштування... пробую зайти на proftpd...
і у відповілдь на ftp localhost отримує ддовге і нудне чекання і лише через декілька секунд запрошення на ввід лоігну та паролю. Першим чином потрібно відключити пошук зворотнього днс, оскільки толку мені з нього абсолютно ніякого, а часу забирає немало..
отож, в конфігураційному файлі proftpd.conf дописуємо ( або міняємо, якщо така дтректива вже є):
UseReverseDNS off
вже ніби трохи краще.. але ще далеко до того, чого б хотілося... після деяких пошуків я таки знайшов, чим саме займається protftpd при підєднанні до нього, а саме він пробує ідентифікувати клієнта. Відключити це можна відповідною директивою, отже дописуємо в той самий proftpd.conf :
IdentLookups off
перезапускаємо proftpd і все... пробуємо підключитися до нього і миттєво отримуємо запрошення на ввід лоігну та паролю ...
Tuesday, September 1, 2009
lftp + cp1251 в іменах файлів
Для того, чтобы в консоли путешествовать по ftp-ресурсам (например, в пределах локальной сети), очень хорошо подходит lftp (в Mandriva: urpmi lftp). Одна проблема: изначально он не справляется с кодировкой cp1251 (которая стоит на ftp у подавляющего большинства).
Чтобы это исправить, пишем в /etc/lftp.conf (ну или в ~/.lftp) такую строчку:
set ftp:charset cp1251
Вроде бы всё; только грамотный пользователь заметит, что после этого папки и файлы с буквой “я” будут скачиваться некорретно. Это связано с особенностями ftp–протокола. Для того, чтобы исправить это недоразумение, стоит дописать ещё одну строчку:
set ftp:use-telnet-iac no
Для удобства при выполнении команды mirror (зеркалирование и/или реверсное зеркалирование) рекомендуется ещё прописать
set mirror:set-permissions off
Вот и всё, наш lftp полностью готов к работе во вражеском windows–окружении.
Чтобы это исправить, пишем в /etc/lftp.conf (ну или в ~/.lftp) такую строчку:
set ftp:charset cp1251
Вроде бы всё; только грамотный пользователь заметит, что после этого папки и файлы с буквой “я” будут скачиваться некорретно. Это связано с особенностями ftp–протокола. Для того, чтобы исправить это недоразумение, стоит дописать ещё одну строчку:
set ftp:use-telnet-iac no
Для удобства при выполнении команды mirror (зеркалирование и/или реверсное зеркалирование) рекомендуется ещё прописать
set mirror:set-permissions off
Вот и всё, наш lftp полностью готов к работе во вражеском windows–окружении.
Friday, August 14, 2009
Настройка Pure-FTPd c авторизацией по скрипту
Настройка Pure-FTPd c авторизацией по скрипту
Для Unix систем есть большое количество серверов ftp обладающих богатым функционалом,
каждый из которых обладает своими особенностями. Но в один прекрасный день мне потребовалось организовать
авторизацию с помощью скрипта, который в зависимости от IP адреса должен был пускать в разные домашние
директории. После недолгих поисков в интернете я обнаружил, что у Pure-FTPd авторизация по скрипту -
штатная возможность. Итак, приступим.
Скачиваем архив с актуальной на текущий момент версии (в момент написания этой статьи текущая версия 1.0.22)
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.bz2
Распаковываем и простыми сочетаниями команд устанавливаем
./configure --with-rfc2640 --with-everything --prefix=/usr/local/pure-ftpd
make
sudo make install
--with-rfc2640 - необходима для перекодировки названий файлов на лету в разные кодировки
(в моем случае клиенты подсоединяются к серверу с кодировкой cp1251 а на сервере же кодировка UTF-8)
--with-everything - создание демона с поддержкой всех функций Pure-FTPd
--prefix=/usr/local/pure-ftpd - каталог, куда собственно демон устанавливать
Теперь когда сервер установлен переходим к базовой конфигурации. Копируем конфигурационный файл в /etc из каталога с исходниками
cp configuration-file/pure-ftpd.conf /etc/pure-ftpd.conf
Добавляем следующие строки в конфигурационный файл:
ExtAuth /var/run/ftpd.sock # Включаем авторизацию по скрипту
UserBandwidth 100 # Ограничиваем полосу в 100 Kb/c для каждого пользователя,
# чтобы они не забивали весь канал
MaxDiskUsage 90 # Установив это значение, мы запрещаем загрузку файлов на сервер,
# в случае если осталось всего 10% свободного места
FileSystemCharset UTF-8 # Говорим что на сервере кодировка UTF-8
ClientCharset CP1251 # А у пользователей CP1251
Создаем авторизующий скрипт /usr/local/pure-ftpd/sbin/ftp-auth-handler
Со следующим содержанием:
if test "$AUTHD_REMOTE_IP" = "192.168.0.102"; then
echo 'auth_ok:1'
echo 'uid:69'
echo 'gid:42'
echo 'dir:/tmp'
else
echo 'auth_ok:0'
fi
echo 'end'
Этот скрипт успешно авторизует любого пользователя с IP 192.168.0.201
Кроме $AUTHD_REMOTE_IP в скрипте можно использовать следующие переменные:
AUTHD_ACCOUNT
AUTHD_PASSWORD
AUTHD_LOCAL_IP
AUTHD_LOCAL_PORT
AUTHD_REMOTE_IP
AUTHD_ENCRYPTED
В ответе скрипта можно передавать следующие параметры
uid:xxx - UID пользователя в системе
gid:xxx - GID пользователя в системе
dir:xxx - Абсолютный путь до домашней директории
throttling_bandwidth_ul:xxx - Ширина канала закачки на сервер
throttling_bandwidth_dl:xxx - Ширина канала скачки с сервера
user_quota_size:xxx - Дисковая квота пользователя в байтах
user_quota_files:xxx - Максимальное количество файлов для пользователя
per_user_max:xxx - Максимальное количество одновременных сессий
После этого осталось запустить сам сервер.
Скопируем запускающий скрипт pure-config.pl из каталога с исходниками
cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/
Для запуска сервера выполняем следующую команду:
/usr/local/pure-ftpd/sbin/pure-config.pl /etc/pure-ftpd.conf
Для запуска демона авторизации выполняем это:
/usr/local/pure-ftpd/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/local/pure-ftpd/sbin/ftp-auth-handler &
Осталось внести последние две строчки в автозагрузку, и на этом базовая настройка сервера закончена.
12.08.2009, Автор: ExpE , Источник: http://tips.compuserv.biz/index.php...
Для Unix систем есть большое количество серверов ftp обладающих богатым функционалом,
каждый из которых обладает своими особенностями. Но в один прекрасный день мне потребовалось организовать
авторизацию с помощью скрипта, который в зависимости от IP адреса должен был пускать в разные домашние
директории. После недолгих поисков в интернете я обнаружил, что у Pure-FTPd авторизация по скрипту -
штатная возможность. Итак, приступим.
Скачиваем архив с актуальной на текущий момент версии (в момент написания этой статьи текущая версия 1.0.22)
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.bz2
Распаковываем и простыми сочетаниями команд устанавливаем
./configure --with-rfc2640 --with-everything --prefix=/usr/local/pure-ftpd
make
sudo make install
--with-rfc2640 - необходима для перекодировки названий файлов на лету в разные кодировки
(в моем случае клиенты подсоединяются к серверу с кодировкой cp1251 а на сервере же кодировка UTF-8)
--with-everything - создание демона с поддержкой всех функций Pure-FTPd
--prefix=/usr/local/pure-ftpd - каталог, куда собственно демон устанавливать
Теперь когда сервер установлен переходим к базовой конфигурации. Копируем конфигурационный файл в /etc из каталога с исходниками
cp configuration-file/pure-ftpd.conf /etc/pure-ftpd.conf
Добавляем следующие строки в конфигурационный файл:
ExtAuth /var/run/ftpd.sock # Включаем авторизацию по скрипту
UserBandwidth 100 # Ограничиваем полосу в 100 Kb/c для каждого пользователя,
# чтобы они не забивали весь канал
MaxDiskUsage 90 # Установив это значение, мы запрещаем загрузку файлов на сервер,
# в случае если осталось всего 10% свободного места
FileSystemCharset UTF-8 # Говорим что на сервере кодировка UTF-8
ClientCharset CP1251 # А у пользователей CP1251
Создаем авторизующий скрипт /usr/local/pure-ftpd/sbin/ftp-auth-handler
Со следующим содержанием:
if test "$AUTHD_REMOTE_IP" = "192.168.0.102"; then
echo 'auth_ok:1'
echo 'uid:69'
echo 'gid:42'
echo 'dir:/tmp'
else
echo 'auth_ok:0'
fi
echo 'end'
Этот скрипт успешно авторизует любого пользователя с IP 192.168.0.201
Кроме $AUTHD_REMOTE_IP в скрипте можно использовать следующие переменные:
AUTHD_ACCOUNT
AUTHD_PASSWORD
AUTHD_LOCAL_IP
AUTHD_LOCAL_PORT
AUTHD_REMOTE_IP
AUTHD_ENCRYPTED
В ответе скрипта можно передавать следующие параметры
uid:xxx - UID пользователя в системе
gid:xxx - GID пользователя в системе
dir:xxx - Абсолютный путь до домашней директории
throttling_bandwidth_ul:xxx - Ширина канала закачки на сервер
throttling_bandwidth_dl:xxx - Ширина канала скачки с сервера
user_quota_size:xxx - Дисковая квота пользователя в байтах
user_quota_files:xxx - Максимальное количество файлов для пользователя
per_user_max:xxx - Максимальное количество одновременных сессий
После этого осталось запустить сам сервер.
Скопируем запускающий скрипт pure-config.pl из каталога с исходниками
cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/
Для запуска сервера выполняем следующую команду:
/usr/local/pure-ftpd/sbin/pure-config.pl /etc/pure-ftpd.conf
Для запуска демона авторизации выполняем это:
/usr/local/pure-ftpd/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/local/pure-ftpd/sbin/ftp-auth-handler &
Осталось внести последние две строчки в автозагрузку, и на этом базовая настройка сервера закончена.
12.08.2009, Автор: ExpE , Источник: http://tips.compuserv.biz/index.php...
Subscribe to:
Posts (Atom)