Виртуальный каталог пользователей ProFTPD

Виртуальный каталог пользователей ProFTPD

Хорошо, я пытаюсь повторить базовую настройку компании веб-хостинга, аутентифицируя виртуальных пользователей через SQL и перенаправляя/заключая их в их каталог. Я достиг большинства целей здесь,за исключением перенаправления/заключения их в их каталог.

Каталоги хранятся в /home/ftpи это то, что DefaultRootустановлено. Я хочу, чтобы каждый отдельный пользователь имел и был заключен в тюрьму в своем собственном каталоге. Похоже, что настройка homedirв SQL не имеет никакого эффекта. При входе на FTP любым пользователем он входит в DefaultRootбез тюрьмы или перенаправления каталога.

Как выполнить эту последнюю задачу?

решение1

Попробуйте закомментировать DefaultRoot. Думаю, это может переопределить значения, считанные из бэкэнда базы данных.

РЕДАКТИРОВАТЬ:

Если задан DefaultRoot и есть что-то отличное от ~, то пользователь будет помещен в дерево с корнем DefaultRoot.

Если DefaultRoot равен ~, то пользователь будет помещен в дерево с корнем в его домашнем каталоге.

решение2

Помимо настройки DefaultRoot ~, как уже упоминалось, как выглядит ваша конфигурация SQL — вы действительно извлекаете ее из базы данных?

DefaultRoot ~

<IfModule mod_dso.c>
  LoadModule mod_sql.c
  LoadModule mod_sql_mysql.c
</IfModule>

SQLLogFile          /var/log/proftpd/mod_sql.log
PersistentPasswd    off
AuthPAM             off
AuthUserFile        /some/path/to/dummy/passwd.ftp
AuthGroupFile       /some/path/to/dummy/group.ftp
AuthOrder           mod_sql.c mod_auth_file.c

SQLConnectInfo      proftpd@localhost:3306 userdatabase password
SQLAuthTypes        Backend Crypt Plaintext OpenSSL
SQLUserInfo         user user_id password NULL NULL ftp_homedir NULL
SQLAuthenticate     users
SQLDefaultUID       14
SQLDefaultGID       50
SQLMinUserUID       13
SQLMinUserGID       49

Это более или менее краткий пример выполнения 100% аутентификации из базы данных и помещения их в их домашний каталог, как указано в базе данных. Если вы также хотите динамически создавать их домашний каталог при входе в систему (полезно, если вы добавляете их в базу данных и не хотите входить на сервер, чтобы сделать это), вы можете добавить:

CreateHome on dirmode 0755

...в конфигурацию. Два других фиктивных файла, перечисленных выше, соответствуют вашей установке ProFTPd, которая находится на сервере Red Hat/Centos:

пароль.ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

группа.ftp

ftp:x:50:
nobody:x:99:

Все это приведет к тому, что ваши виртуальные пользователи будут иметь UID/GID 14:50 на жестком диске независимо от их имени пользователя для входа.

Связанный контент