Mysql
在 Wordpress MySQL 數據庫中使用憑據進行 SFTP 身份驗證?
我正在嘗試找到一種解決方案,允許使用者使用提供的使用者名/密鑰組合(儲存在 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-mysql和libnss-mysql。
僅僅為了讓一個應用程序使用 MySQL 可能有點矯枉過正,但我想我應該提一下。