Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Налаштовуємо FTP-сервер з віртуальними користувачами на базі vsftpd

Наша взаимовыгодная связь https://banwar.org/

Протокол FTP, незважаючи на похилий вік і серйозні недоліки продовжує широко застосовуватися, багато в чому завдяки простоті і підтримки з боку самого широкого спектру пристроїв і ПО Протокол FTP, незважаючи на похилий вік і серйозні недоліки продовжує широко застосовуватися, багато в чому завдяки простоті і підтримки з боку самого широкого спектру пристроїв і ПО. FTP-сервер є невід'ємною частиною будь-якого веб-сервера, застосовується в системах автоматизованого обміну даними. Найбільш часто встає перед адміністраторами таких систем завданням є створення сервера з віртуальними користувачами. Сьогодні ми розповімо, як це зробити.

Про настройку FTP-сервера на базі vsftpd ми вже розповідали на сторінках нашого сайту, нещодавно істотно доповнивши і оновивши статтю Простий FTP-сервер на базі Ubuntu (vsftpd) . У ній ми розповіли яким чином можна обмежити список користувачів, які можуть підключатися до сервера, і їх права. Однак локальні користувачі залишаються при цьому локальними користувачами і не дивлячись на обмежені права можуть виявитися об'єктом атаки, спрямованої на підвищення прав, наприклад, через уразливості в будь-якому ПО.

Крім того, ручне редагування списків і налаштувань користувачів може виявитися вельми трудомісткою справою якщо їх не один-два, а значно більше. Також іноді виникає ситуація, що світити дані реальних користувачів просто небажано, наприклад, FTP використовується движком сайту (CMS), зв'язка користувач-пароль явно прописана в конфіги і теоретично доступна будь-якій працюючій з сайтом співробітнику.

У таких ситуаціях слід використовувати віртуального користувача, який матиме доступ виключно до даного FTP-ресурсу і облікові дані якого можна сміливо повідомити всім які беруть участь в роботі реальним співробітникам.

У нашій статті ми налаштуємо FTP-сервер для реалізації такої схеми:

Нехай в нашому розпорядженні є якийсь веб-сервер під управлінням якого перебувають три сайти: blue Нехай в нашому розпорядженні є якийсь веб-сервер під управлінням якого перебувають три сайти: blue.lab, green.lab і red.lab, фізично розташовані в однойменних директоріях. Наше завдання створити FTP-сервер з віртуальними користувачами, кожен з яких має доступ тільки до свого сайту.

Важливе зауваження, в даній схемі всі сайти повинні працювати від імені веб-сервера (www-data), якщо ви використовуєте запуск кожного сайту від імені свого (реального) користувача, то вам краще налаштувати FTP-сервер для роботи з реальними користувачами або додатково забезпечити потрібні права доступу для віртуальних користувачів, що може представляти із себе нетривіальну задачу.

Перш за все встановимо традиція: назва віртуального користувача має збігатися і ім'ям кореневої FTP-папки, в нашому випадку папки сайту, а всі такі папки повинні розташовуватися в одному місці, тобто підпадати під шаблон / var / www / $ USER. Це дозволить в подальшому з легкістю маніпулювати сайтами і віртуальними користувачами, а також уникнути плутанини в іменах і настройках.

Визначившись з моделлю розміщення даних можна переходити до налаштувань ПО. Крім vsftpd нам знадобляться пакети libpam-pwdfile і apache2-utils. Останній входить до складу однойменного веб-сервера і якщо у вас вже працює Apache, то встановлювати його не треба.

Сама установка гранично проста:

apt-get install vsftpd libpam-pwdfile apache2-utils

Після чого перейдемо до налаштувань FTP-сервера, які розташовані в файлі /etc/vsftpd.conf, ми перерахуємо опції в порядку їх знаходження в файлі.

Дана опція запускає FTP-сервер як службу

listen = YES

нижче є аналогічна взаємовиключна опція:

listen_ipv6 = NO

Перша з них забезпечує підтримку IPv4, друга відразу IPv6 і IPv4, тому повинна бути включена тільки одна з них.

Забороняємо анонімних користувачів:

anonymous_enable = NO

І дозволяємо локальних (і віртуальних) користувачів:

local_enable = YES

Також дозволяємо запис:

write_enable = YES

і задаємо маску для новостворюваних файлів і папок:

local_umask = 022

Це забезпечить установку прав 755 на папки і 644 на файли, тобто повний доступ тільки власнику і читання для групи і інших.

Щоб FTP використовував локальне час сервера, а не GMT ​​встановимо:

use_localtime = YES

І включимо лог завантажуються і скачуваних файлів:

xferlog_enable = YES

Дозволяємо активний режим:

connect_from_port_20 = YES

Задаємо шлях до балці і його формат:

xferlog_file = / var / log / vsftpd.log
xferlog_std_format = YES

Зазначимо таймаут:

idle_session_timeout = 600
data_connection_timeout = 120

Перший задає час відключення недіючого користувача, а другий час очікування відновлення незакінченою передачі.

Для коректної роботи з текстовими даними, зокрема з символами розриву рядків в різних ОС (CR + LF в Windows, LF в Linux) включимо підтримку ASCII, це корисно, якщо ви завантажуєте скрипти або файли з Linux сервера, керуєте їх в середовищі Windows і заливаєте назад. В цьому випадку FTP автоматично буде міняти символи розриву рядків для відповідності стандартам системи.

ascii_upload_enable = YES
ascii_download_enable = YES

Обов'язково ізолюємо користувача в корені його домашній директорії і поруч впишемо опцію, що дозволяє запис в корінь:

chroot_local_user = YES
allow_writeable_chroot = YES

Решта опцій залишаємо без зміни.

Нижче додамо необхідні нам налаштування. Дозволимо пасивний режим і явно вкажемо діапазон портів:

pasv_enable = YES
pasv_min_port = 62000
pasv_max_port = 62999

Включимо віртуальних користувачів:

guest_enable = YES

Зазначимо від імені якого реального користувача вони будуть працювати, так як в нашому випадку нам треба працювати з вмістом веб-сервера, то вказуємо відповідного користувача www-data.

guest_username = www-data

Застосовуємо до віртуальних користувачам налаштування локальних, інакше до них будуть застосовані обмеження анонімних.

virtual_use_local_privs = YES

Зазначимо шаблон для автоматичної генерації домашнього каталогу віртуального користувача:

user_sub_token = $ USER

Тепер можна задати самі домашні директорії

local_root = / var / www / $ USER

Також іноді непогано буде приховати реальних власників вмісту, для цього додайте:

hide_ids = YES

Якщо ви використовуєте Ubuntu, то додайте наступну недокументовану опцію:

seccomp_sandbox = NO

Це дозволить уникнути помилки 500 OOPS: prctl PR_SET_SECCOMP failed, яка виникає з некоректною спільної роботи vsftpd і системи безпеки seccomp, в Debian дана помилка не виявляється.

На цьому настройка FTP-сервера закінчена, зберігаємо файл і переходимо до налаштування правил аутентифікації. Відкриємо /etc/pam.d/vsftpd, закомментіруем в ньому все рядки і додамо дві свої:

auth required pam_pwdfile.so pwdfile / etc / vsftpwd
account required pam_permit.so

Після цього аутентифікація локальних користувачів на FTP-сервері буде неможлива, працювати будуть тільки віртуальні. Опція pwdfile / etc / vsftpwd вказує шлях до файлу паролів, його нам необхідно буде створити на наступному кроці.

Для створення користувачів будемо використовувати утиліту htpasswd зі складу apache2-utils, для створення файлу паролів і першого користувача введіть:

htpasswd -c -d / etc / vsftpwd blue.lab

Ключ -c наказує створити файл паролів, якщо він існує, то всі дані в ньому будуть очищені, а файл перезаписан, -d задає необхідний для vsftpd алгоритм шифрування хеша пароля.

Наступні користувачі створюються командою (в нашому прикладі це користувач green.lab):

htpasswd -d / etc / vsftpwd green.lab

Для видалення користувача використовуйте (видаляємо red.lab):

htpasswd -D / etc / vsftpwd red.lab

Після чого можна перезапустити службу FTP-сервера і перевірити його роботу:

service vsftpd restart

Як бачимо, налаштувати FTP-сервер з віртуальними користувачами по нашій інструкції (на відміну від багатьох інших "інструкцій" в мережі) абсолютно нескладно і недовго. Якщо ви будете уважно слідувати всім нашим рекомендаціям, то складнощів у вас виникнути не повинно.

Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: