Как бы я использовал PHP для аутентификации пользователей Linux и паролей? - PullRequest
5 голосов
/ 22 сентября 2010

Скажем, я хотел создать что-то вроде того, как работает cPanel, он использует имя пользователя и пароль из системы.

Вы можете запустить 'passwd user' на сервере, и пароль по-прежнему будет работать с cPanel и FTP (не обязательно MySQL, но вы понимаете, что нужно)

Как бы я сделал это в PHP? У меня нет ни малейшей идеи, кроме локального запуска / bin / su и запуска из этого. При этом, это может быть неточным, хотя ... У меня обычно есть несколько моих разработчиков, либо на дополнительном аккаунте, либо на root, что-то разрабатывает.

Любые идеи будут высоко оценены, спасибо! :)

Ответы [ 2 ]

6 голосов
/ 22 сентября 2010

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

В пакетах Debian / 'buntu это, вероятно, так же просто, как установить php5-auth-pam и использовать функцию:

pam_auth($username,$password,$error);

Хотя этопохоже, полагается на древний синтаксис php4, потому что я получаю ошибку, если не использую устаревший способ передачи по ссылке во время вызова:

if(!pam_auth($username,$password,&$error)){
    echo 'No access, PAM said: '.$error;
}
0 голосов
/ 22 сентября 2010

Не совсем понятно, что вы хотите аутентифицировать.В любом случае, вы можете использовать PAM с PHP: http://pecl.php.net/package/PAM

Есть такая функция PHP: posix_getpwnam

Вы также можете использовать это довольно прямо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...