ユーザー名とパスワードが与えられた場合、そのユーザー名とパスワードを持つユーザーがローカル システムに存在するかどうかを確認する必要があります。
私はパッケージを認識しposix_getpwnam
て使用していPAM
ますが、これらの方法の両方で、PHP スクリプトが にアクセスできる必要があります/etc/shadow
。システムファイルやデーモンユーザーのパーミッションを台無しにしたくありません。
これは、 などの標準システム コマンドをいじるかsudo
、独自の小さな setuid C プログラムを作成することで実行できると思います。上記のユーザー名/パスワードを使用してFTPまたはSSH経由でlocalhostに接続して検証することもできます。もっと簡単な方法はありますか?