我如何使用PHP对Linux用户和密码进行身份验证?

Bil*_*lly 5 php linux authentication

假设我想创建类似cPanel如何工作的东西,它使用系统中的用户名和密码.

您可以在服务器上运行"passwd的用户,密码仍然会与cPanel和FTP工作(不一定是MySQL,但是你明白了吧)

我将如何在PHP中实现这一目标?除了在本地运行/ bin/su并从中运行之外,我没有丝毫想法.有了它,它可能是不准确的..我通常有一些我的开发人员在一个子帐户,或根源开发的东西.

非常感谢任何想法,谢谢!:)

Wri*_*ken 6

PAM:http: //pecl.php.net/package/PAM

在Debian /'buntu包中,它可能就像安装php5-auth-pam一样简单,并使用以下函数:

pam_auth($username,$password,$error);
Run Code Online (Sandbox Code Playgroud)

虽然它似乎依赖于古老的php4语法,但如果我在调用时不使用不推荐使用的引用传递方式,则会出现错误:

if(!pam_auth($username,$password,&$error)){
    echo 'No access, PAM said: '.$error;
}
Run Code Online (Sandbox Code Playgroud)