これに対するフォローアップのようなもの:PHPを使用して/etc/shadowに対してユーザーを認証する最も安全な方法は何ですか?これは、Ubuntu 16.04に関連するコンテンツが表示されないためです。
HTTPを介してLinuxアカウント(Ubuntu 16.04)に認証しようとしていますが、PECL-PAM
問題は認証するにはグループwww-data
に属している必要があることです。私が見つけた解決策は、次のものを使用することですが、その組み合わせの問題は、これまでに見つかったもののうち、過去の認証にログインしているユーザーの身元がないことです。shadow
/etc/shadow
mod_authnz_external
pwauth
/somedir/$user
私の最終目標は、ユーザーがHTTP / PHPを介して認証し、ホームディレクトリ(たとえば)からファイルを管理できるようにすることです。私はもともとWebminを使用していましたが、filemin
userminモジュールに関連する他の問題が発生し、より多くのホームブレークソリューションに切り替えました。
www-dataはシャドウグループに属さず、認証にPHP / PAMパッケージを使用できますか?または、できない場合は、mod_authnz_external
ANDを使用してpwauth
ログインしたユーザーとのセッションを開始できますか?
答え1
mod_authnz_external
PHP_AUTH_USER
この変数は、ユーザーが正常に認証されると設定されます。
次のようにセッションを開始できます。
<?php
if (isset($_SERVER['PHP_AUTH_USER'])) {
// Your code which uses the username set in `$_SERVER['PHP_AUTH_USER']`
// to set up a session.
}
答え2
トークン/検証へのアクセスを処理するためにボックスで実行されている既存のサービスを使用する方が簡単で安全ではありませんか? (ssh2_auth_password(), imap_open()....)