www-data シャドウを提供せずに PHP を使用して PAM 経由で Linux アカウントを認証する方法

www-data シャドウを提供せずに PHP を使用して PAM 経由で Linux アカウントを認証する方法

これに対するフォローアップのようなもの:PHPを使用して/etc/shadowに対してユーザーを認証する最も安全な方法は何ですか?これは、Ubuntu 16.04に関連するコンテンツが表示されないためです。

HTTPを介してLinuxアカウント(Ubuntu 16.04)に認証しようとしていますが、PECL-PAM問題は認証するにはグループwww-dataに属している必要があることです。私が見つけた解決策は、次のものを使用することですが、その組み合わせの問題は、これまでに見つかったもののうち、過去の認証にログインしているユーザーの身元がないことです。shadow/etc/shadowmod_authnz_externalpwauth

/somedir/$user私の最終目標は、ユーザーがHTTP / PHPを介して認証し、ホームディレクトリ(たとえば)からファイルを管理できるようにすることです。私はもともとWebminを使用していましたが、fileminuserminモジュールに関連する他の問題が発生し、より多くのホームブレークソリューションに切り替えました。

www-dataはシャドウグループに属さず、認証にPHP / PAMパッケージを使用できますか?または、できない場合は、mod_authnz_externalANDを使用してpwauthログインしたユーザーとのセッションを開始できますか?

ベストアンサー1

mod_authnz_externalPHP_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.
}

おすすめ記事