2012-01-11 70 views
2

我试图找到一个解决方案,允许用户通过使用提供的用户名/组合键(存储在Wordpress安装的MySQL数据库中)通过SFTP连接到服务器,而无需持续保留两个或多个单独的系统同步中。在Wordpress MySQL数据库中使用凭证进行SFTP身份验证?

这是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盒子上,但我对任何工具和语言都很开放。

回答

1

而不是试图让操作系统和底层文件系统和SFTP服务器使用WordPress作为他们的用户来源,你将有可能更好的运气,让WordPress的使用OS作为用户来源。

到达那里的一条路线是使用LDAP服务器。大多数操作系统(以及SFTP服务器和文件系统)都可以与LDAP服务器进行身份验证,而Wordpress也可以。

想要让其他服务看起来像WordPress的路线,只是从安全角度来要求麻烦。

+0

此解决方案是否允许在Wordpress中进行标准用户注册? – geoffreak 2012-01-11 20:25:53

+0

是的,我相信Wordpress可以配置为将新帐户推送到LDAP服务器。 LDAP还使用角色的概念(我认为wordpress也使用它)来配置权限,并且这些角色也将转换为文件系统权限。 – cdeszaq 2012-01-11 20:29:37