Проверка подлинности SFTP с учетными данными в базе данных Wordpress MySQL? - PullRequest
2 голосов
/ 11 января 2012

Я пытаюсь найти решение, которое позволит пользователю подключаться к серверу через SFTP с использованием предоставленной комбинации имени пользователя / ключа (хранящейся в базе данных MySQL для установки Wordpress), без необходимости постоянно хранить два или более отдельных системы в синхронизации.

Это запрос MySQL, который получает два столбца с именем пользователя и ключом API, которые пользователь вводит в свой клиент SFTP в качестве пароля:

SELECT m.meta_value, u.user_login
FROM wp_users AS u, wp_usermeta AS m
WHERE m.user_id = u.ID AND m.meta_key = "user_apikey";

Что касается файловой системы, существует папка, имя которой совпадает с именем пользователя для каждого пользователя, и все они находятся в одном каталоге. Папка этого пользователя может существовать или не существовать. Когда пользователь устанавливает SFTP-соединение с сервером, ему следует показывать только содержимое этой папки после проверки подлинности.

Надеюсь, кто-то знает простое решение этой проблемы. Единственное ограничение, которое у меня есть, - это то, что он должен работать на коробке CentOS, но я довольно открыт для любых инструментов и языков.

Ответы [ 2 ]

1 голос
/ 12 января 2012

Вместо того, чтобы пытаться заставить ОС и основную файловую систему и SFTP-сервер использовать Wordpress в качестве своего пользовательского источника, вам, скорее всего, придет намного удача, если Wordpress будет использовать ОС как пользовательский источник.

Один из способов получить это - использовать сервер LDAP.Большинство ОС (и SFTP-серверы, и файловая система) могут интегрироваться с LDAP-сервером для аутентификации, а также Wordpress.

Чтобы попытаться заставить другие сервисы обратиться к Wordpress, просто требуетсяпроблема с точки зрения безопасности.

0 голосов
/ 12 января 2012

Кажется, что я мог бы использовать Proftpd в качестве FTP-сервера и добавить модули для его настройки со следующими модулями:

...