Mysql

在 Wordpress MySQL 數據庫中使用憑據進行 SFTP 身份驗證?

  • January 11, 2012

我正在嘗試找到一種解決方案,允許使用者使用提供的使用者名/密鑰組合(儲存在 Wordpress 安裝的 MySQL 數據庫中)通過 SFTP 連接到伺服器,而無需不斷保持兩個或多個單獨的系統同步.

我在 Stackoverflow 上問過這個問題,但我覺得在這裡回答會更好。

這是 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 機器上執行,但我對任何工具和語言都很開放。

您可以用 MySQL 後端替換 PAM 和名稱服務交換機 (NSS) 的後端。您將需要pam-mysqllibnss-mysql

僅僅為了讓一個應用程序使用 MySQL 可能有點矯枉過正,但我想我應該提一下。

引用自:https://serverfault.com/questions/349009