LinuxOSのユーザ・パスワードを元にPHPで認証を行うには?
曖昧なタイトルで申し訳ありません.
環境は以下の通りです.
CentOS5.4
Apache 2.2
PHP 5
MySQL5
現在,LinuxOSに存在するユーザ毎にウェブベースのコントロールパネルを設けたいため,ユーザ認証を掛けたいと思っているのですが,どのような方法で認証を実装すれば,LinuxOSで使用されている/etc/passwdと/etc/shadowを元にした認証が可能なのか分からず,質問させていただきました.
流れとしては以下の通りです.
ユーザ名・パスワードを入力 → ユーザが存在しなかったりパスワードが違えば認証拒否
↓
Linuxにユーザが存在していて,且つシステムパスワードと一致すれば承認.
この認証はPAM認証(?)で可能でしょうか?
また,そうであれば,PHPからPAM認証を行うには,どのような環境整備が必要でしょうか?
参考サイトでもかまいませんので,ご教授いただけると幸いです.
よろしくお願いします.
No.1ベストアンサー
- 回答日時:
PEAR Installer で PAM をインストールします。
その後、php.ini に以下を追加
----
pam.servicename = "login";
----
コードの書式は以下のとおり
bool pam_auth(string $username, string $password [, string &$error ])
参考URL:http://pecl.php.net/package/PAM
ありがとうございました!
おかげさまでPHPからPAM認証が可能になりました.
以下,私が行った手順です.
今後,同様の事をしたい方の参考になれば幸いです.
環境
CentOS 5.4
PHP 5.3.2
# PHP-develのインストール
yum -y install php-devel
# PEARのインストール
yum -y install php-pear
# PAMのインストール
pecl install PAM
# PAMがインストールされているか確認
pecl list
--結果--
Installed packages, channel pecl.php.net
================================
Package Version State
pam 1.0.3 stable
# php.iniの編集
vi /etc/php.ini
--編集内容--
extension=/usr/lib64/php/modules/pam.so → 追記
pam.servicename="login" → 追記
include_path= "/usr/share/pear" →追記,または編集
# pam.soに実行権付与
chmod 755 /usr/lib64/php/modules/pam.so
# Apacheの再起動
service httpd restart
これで,pam_auth関数が利用できるようになりました.
ユーザ名・パスワードが一致すれば[1]が返ってきます.
(認証に失敗すると,[0]ではなく,値は返ってきませんでした)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php エラー
-
ワードプレスサイト PHP8.0.25...
-
PHPSpreadsheetによる書き出し...
-
a href リンクタグでだけで 送...
-
EC-CUBEをeclipseからコンパイ...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
phpでcookieがうまく保存されない
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHPとHTML+Xamppの掲示板で画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheのBasic認証のログの取り方
-
外部の別ホストからのPOST送信...
-
phpのパスワード認証
-
パスワード認証後にリンク先を...
-
Basic認証のパスワードをユーザ...
-
会員投稿サイトのCMSについて
-
BASIC認証をHTMLページに埋め込...
-
基本認証の実施判別方法について
-
CSVによるID,パスワードの一括登録
-
トップページに簡易認証をつけたい
-
SQLConfigDataSourceについて。
-
WEBサイト アクセス端末の特定
-
HTTPのBasic認証に自動ログイン...
-
Linuxからファイルのコピー
-
ホームページ作成サイトで企業...
-
携帯PCのアクセス制限。PHP初心...
-
jQueryのFullCalendarについて...
-
フォーム認証について
-
Amazon Product Advertising AP...
-
Visual Studio.net 2003 (アカ...
おすすめ情報