Showing posts with label ftp. Show all posts
Showing posts with label ftp. Show all posts

Friday, April 29, 2011

як сховати версію proftpd ?

в /etc/proftpd/proftpd.conf  змінити чи встановити параметр

ServerIdent Off 

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 

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, щоб потім він без проблем читав і виконував файли, що залиті віртуальними користувачами.. (в мене немає потреба розділяти різним віртуальних користьувачів.. просто треба щоб кожен мав свій лоігн..)

Sunday, January 10, 2010

тормозить proftpd (ftp)

Використовую proftpd в якосіт ftp серверу на всіх своїм машинах, так як він найпростіший та найзручніший в адмініструванні та можливостях, зокрема в ньому є дуже проста і потрібна можливість стврювати віртуальних користувачів у звичайних тесктових файлах, без громіздких баз даних... ( але  зараз не про це.. )
після встановлення та налаштування... пробую  зайти на 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–окружении.

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...