UID и GID для ProFTPd с MySQL режимом авторизации - PullRequest
0 голосов
/ 19 апреля 2020

Всем доброго времени суток!

У меня есть сервер Ubuntu 18.04 LTS с MySQL 8.0 и сервером ProFTPD 1.3.5e.

Я использовал эти инструкции для настройки MySQL аутентификация для ProFTPd.

https://medium.com/@nico26deo / как установить-proftpd-with-a- mysql -backend-on-ubuntu-c6f23a638caf

И это работает Великий!

В вышеприведенной статье настраивается первый пользовательский «тест» с UID 5500 и GID 5500. В нем говорится, что каталог пользователя FTP должен быть создан и ограничен до 5500: 5500. Все очень хорошо.

Чего не говорится, так это что делать, когда приходят второй, третий и последующие пользователи. Создать нового пользователя в базе данных с помощью запроса INSERT легко, но должны ли UID и GID быть уникальными для нового пользователя ftp? Если так, есть ли простой способ получить MySQL для AUTO_INCREMENT новых значений выше 5500 и 5500 соответственно?

Очевидно, что вне этого запроса мне понадобится вспомогательный процесс, который создает каталог и преобразует его в правильный UID и GID в базе данных. Мои мысли таковы:

  1. ВСТАВЬТЕ новое имя пользователя ftp, пароль, homedir в базу данных. Это может включать в себя то, что когда-либо нужно вставить UID и GIU.
  2. Создайте задачу beanstalkd, чтобы создать homedir для нового пользователя ftp и передать имя пользователя ftp, используемое в запросе SELECT.
  3. FTP-сервер проверит beanstalkd и обнаружит, что у него есть задача для выполнения.
  4. FTP-сервер запросит в БД подробности, связанные с новым пользователем ftp. (например, homedir, UID, GID и т. д. c)
  5. Сервер FTP создаст homedir нового пользователя и добавит его в UID и GID в базе данных.

Итак чтобы сделать мои вопросы предельно ясными:

  1. Должны ли UID и GID быть уникальными для нового пользователя ftp?
  2. И если так, в контексте аутентификации ProFTPD с MySQL, есть ли простой способ получить MySQL для AUTO_INCREMENT новых значений, начинающихся с 5500 и 5500 соответственно?

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2020

Для автоматического увеличения с помощью MySQL вы можете определить столбцы UID и GID в своей таблице пользователей, используя ключевое слово AUTO_INCREMENT MySQL.

In В общем, лучше всего иметь отдельные значения UID и GID для ваших пользователей. Это помогает гарантировать, что доступ / разрешения файловой системы к этим файлам являются уникальными / отдельными. Если вы повторно использовали один и тот же UID / GID для всех своих пользователей, это похоже на одного пользователя с несколькими рабочими паролями - для файловой системы все файлы и каталоги будут принадлежать и доступны для них. один и тот же пользователь, независимо от того, как он вошел в систему. Ошибочная конфигурация позволила бы одному пользователю получить доступ к файлам другого пользователя, поскольку к файловой системе (которая заботится только об идентификаторах UID / GID, а не именах) они все одинаковы.

Что касается создания домашних каталогов, это можно автоматизировать / сделать в самом ProFTPD, используя директиву конфигурации CreateHome.

Надеюсь, это поможет!

...