Налаштування ftp сервера на ubuntu - інструкції

Принципово існує кілька підходів до встановлення та налаштування ftp серверів:
- Налаштування ftp сервера і зв'язка його з MySQL
- Налаштування ftp сервера c віртуальними обліковими записами
- Налаштування ftp сервера і прив'язка до локальних користувачам

Перший варіант не прийнятний через використання додаткової технології, незручності управління користувачами (доведеться постійно копатися в базі), а також громоздскость настройки.

Другий варіант це по суті урезок першого. але все одно доведеться налаштувати PAM аутентифікацію, згенерувати спеціальний файл який буде зберігати дані про користувачів, встановлювати не дуже то потрібні пакети, вобщем в топку його.

Третій варіант мабуть найкращий. Linux має дуже гнучку систему управління користувачами, а також розмежування прав, додаткових пакетів і технологій нам не буде потрібно, тільки сам vsftpd і локальні користувачі, тому саме на цьому варіанті ми і зупинимося. Тепер перейдемо безпосередньо до практики ...

Налаштування анонімного захищеного з'єднання з мережею на Ubuntu. Linux

Установка і настройка vsftpd

Vsftpd є в репозиторіях Ubuntu тому поставити його простіше простого, в консолі набираємо:

Тепер треба зайнятися конфіг. Щоб не мучитися я зробив уже готовий конфіг. можете його скачати і замінити файл на своєму сервері в /etc/vsftpd.conf.

Особливості конфіга. заборонений анонімний доступ, призначений стандартний порт для прослуховування, дозволені локальні користувачі, umask призначений 002 (це означає що всі залиті по фтп файли будуть мати права 664), дозволена зміна прав доступу до файлів по фтп включаючи рекурсию, користувачам заборонено вихід з домашньої папки.

Ну все, настройка ftp сервера на цьому закінчується, швидко правда? Тепер займемося користувачами.

Налаштування користувачів

Далі ліземо в / etc / shells:

В кінець додаємо рядок:

Зберігаємо, закриваємо.
Тепер треба створити 2 групи. одна група (web-users) буде для користувачів, інша (web-developers) для розробників
sudo addgroup web-users sudo addgroup web-developers

Окей, для повноти картини треба б додати сервер apache в кожну з створених груп (за замовчуванням apache працює під користувачем www-user):

Додали. Тепер можна зайнятися самими користувачами. Створимо папки для майбутніх користувачів. Для зручності в папці / home я створюю папки для кожної з груп:

Тепер припустимо що логіни наших користувачів - user1, dev1, dev2 создадімпапкі для користувачів:

Тепер створимо користувачів а заодно відразу розкидали їх по потрібним групам:

Тепер призначимо користувачів власниками папок створених раніше:

Припустимо, що є 2 сайта які лежать в / var / www - site1.com і site2.com перший належить користувачеві, а другий знаходиться на розробці у программеров. Щоб роздати ці сайти необхідно промонтіровать їх в домашні директорії користувачів. Для цього необхідно спочатку створити відповідні папки в домашніх папках користувачів, а потім вже примонтировать туди файли наших сайтів.

Тепер додаємо точку монтування для кожного з користувачів, для цього правимо fstab:
sudo gedit / etc / fstab

Додаємо потрібні шляхи:

Все, перезавантажується і радіємо результату.

Контроль за роботою комп'ютера: задіяння різних сенсорів і датчиків в Ubuntu

Висновки: Ми отримали досить швидкий і безпечний ftp сервер. При цьому до одного з сайтів призначений загальний доступ для групи розробників. Шматки коду в даній статті виглядають досить страшно, але це того варто, адже ми розібрали приклад не для одного, а відразу для 3х користувачів і 2х груп. Дерзайте і все у вас обов'язково вийде

Іноді після того різання всіх вищевказаних дій підключитися до ftp все ще не представляється можливим. Просто пише login incorrect і все тут. Для того щоб все запрацювало міняємо для користувачів пароль на будь-який інший (або навіть на такий же) виконавши команду sudo passwd ім'я користувача. Після зміни пароля все запрацює в штатному режимі.

Схожі статті