問題タブ [pam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
41 参照

linux - 会話エラーの場合、pamで他のメソッドをチェックせずにアプリに戻る方法

私のアプリケーション APP について、 /etc/pam.d/APP にファイルを追加し、 APP で次のように定義したとしましょう:

method1 で会話失敗の場合、method2 と method3 で pam_sm_authenticate を呼び出さずに戻る方法。

ありがとう

-ソーマセカール

0 投票する
0 に答える
1373 参照

gcc - libpam linking issue ubuntu 12.04

I have installed libpam0g-dev libpam0g

But when I am linking to libpam I am getting error undefined reference to `pam_start' and I am linker flags include -lpam.

Same code is working in Ubuntu 11.

Linking flags

don't works

but this works

0 投票する
1 に答える
500 参照

linux-kernel - Linux-PAM とカーネルの関係

Linux-PAM とカーネルの関係は? Linux-PAM はカーネルの一部ですか?

を使用する場合sudottyこの種の認証はカーネル空間で終了しますか?

0 投票する
2 に答える
9904 参照

linux - root 権限なしで PAM を使用してユーザー名/パスワードを認証する方法

私はCで書かれたプログラムを持っています.2つの引数ユーザー名/パスワードを取り、PAMを使用してこのユーザーを認証しようとします. 私がルートになっているときはうまくいきます。私が「通常の」ユーザーの場合、このユーザーには機能しますが、別のユーザーには機能しません。シャドウパスワードを使用しているためだと思います..

私が使用しているサービスとして:

これを /etc/pam.d/test に追加します

私を手伝ってくれますか?どうもありがとう!

0 投票する
1 に答える
1352 参照

c - 指紋リーダーPAMモジュールをスキップして、CアプリケーションからPAMで認証します

CネットワークアプリケーションのユーザーをPAMで認証したいのですが、ここStackでPAMの良い例を見つけました。これを下部に添付します。問題は、私の開発マシンに、PAMが使用するように設定されている指紋リーダーがあることです/etc/pam.d/common-auth

pam_fprint.so指紋リーダープラグインです。通常ログインすると、スキャンが失敗する可能性があり、パスワードの入力を求められます。/etc/pam.d/sshdただし、sshdデーモンはフィンガープリントをまったく開始しません。たとえば、common-authモジュールを参照するため、フィンガープリントをプルする必要があるため、フィンガープリントをスキップする方法を理解したいと思います。

Cプログラムから「sshd」スキームを参照しようとしましたが、それでも指紋リーダーが起動します。どういうわけかCで指紋リーダーをスキップし、指紋リーダーのデフォルト構成を保持したいと思います。

0 投票する
1 に答える
704 参照

linux - ubuntu oneric ocelot の www-data で PAM の limits.conf が機能しない

pam.d ディレクトリから pam_limits.so のコメントを外そうとしましたが、うまくいきませんでした。libpam が /usr/lib に存在するため、基本的な PAM がインストールされているようです

これは、limits.conf の ucommented 部分です。

0 投票する
1 に答える
322 参照

java - パム共有ハッシュ

私自身の JAAS LoginModule のガイドラインとして、PAM モジュールがどのように設計されているかを調べています。私が驚いたことの 1 つは、ハッシュ化されたパスワードにアクセスするために使用されるメソッドは、ハッシュ メソッド自体とほとんど直交しているにもかかわらず、このプロパティをうまく利用する PAM モジュールを見つけることができなかったことです。私が見落としていたセキュリティ上の問題が原因なのか、それとも単にまだ調査されていないものなのか?

私の言いたいことをもう少し説明するために、ハッシュ化されたパスワードにアクセスするための 3 つの異なる方法 (LDAP、SQL、プレーン ファイル) と 2 つのハッシュ方法 (MD5、SHA1) があるとします。現在、アクセス方法ごとに 1 つ以上の PAM モジュールがあり、それぞれがこれらのハッシュ方法を 1 つ以上実装しています。新しいハッシュ メソッド (BCrypt など) を追加するということは、新しいハッシュ タイプをサポートするために、これらすべてのアクセス メソッドを変更する必要があることを意味します。より良い設計は、ユーザー名を使用してハッシュ化されたパスワードを取得するだけのアクセス方法ごとに 1 つの PAM モジュールを用意し、ハッシュ検証を実行する PAM モジュールの別のセットを用意し、ハッシュ値をモジュール間で共有することです (パスワードは)です。データベースを使用してパスワードを保存し、MD5 を使用してパスワードを確認すると、構成は次のようになります。

この構成では、pam_sql はハッシュ化されたパスワードをデータベースから取得します (ユーザー名が存在しない場合は失敗します)。次に、pam_md5 はハッシュされたパスワードとテストするパスワードを比較し、一致しない場合は失敗します。Bcrypt を使用する別の構成では、pam_md5 を pam_bcrypt に置き換えるだけで済みます。pam_sql の開発者が新しいハッシュ メソッド用に更新するのを待つ必要はありません。

0 投票する
2 に答える
2588 参照

php - Linux ユーザーのパスワードを PHP スクリプトから変更する

「簡単な」質問があります。Apache の root 権限を付与したり、その他のクレイジーなセキュリティ ホールを導入したりせずに、PHP スクリプト内からユーザーのパスワードを安全に変更するにはどうすればよいですか?

背景: CentOS 6、Apache 2.2.13、PHP 5.3.3

PECL PAM ライブラリの一部である pam_chpasswd() コマンドを認識しています。ただし、ホスト プロセス (httpd) が /etc/shadow ファイルへの読み取りアクセス権を持っていない限り、この関数は失敗します。(悪い考えです!このライブラリがそのような高い権限を必要とする場合にどのように役立つかわかりません...)

私が見る限り、理想的な状況は、PHP に 'sudo -u[パスワードを変更するユーザーのユーザー名]' でシェル スクリプトを呼び出させることです。自分のパスワードを変更します。また、sudo では、ユーザーが認証を受けるために既存のパスワードを送信する必要があるため、あるユーザーが別のユーザーのパスワードを変更するのを防ぐことができます。

しかし、これは何らかの理由で機能しません... popenでプロセスを開くと、プロセスは実行されません。/tmp の一般に書き込み可能なファイルにテキストをダンプするようにシェル スクリプトを設定しました。しかし、それは決してその点に達しません。

この php スクリプト (http://server/script.php) にアクセスすると、関数はすぐに失敗し、$result = 1 になります。

sudoers ファイル (visudo) を変更して次の行を追加すると:
$Defaults:apache !requiretty

スクリプトは約 10 秒間フリーズしてから失敗します ($result = 1)

これを行うための提案は大歓迎です!

0 投票する
0 に答える
1005 参照

ftp - PAM 認証のためにユーザーを Berkeley db に追加する

vsftpd の PAM 認証のために、Berkeley db データベースにユーザーを追加しようとしています。データベースは、最初に db_load ユーティリティによってユーザー名とパスワードのテキスト ファイルから作成されました。

これらのユーザーの PAM 認証は正常に機能します。このデータベースにユーザーを追加する C++ アプリケーションを作成しました。

操作は成功しましたが、PAM は新しく追加されたユーザーを認識しません。データベースの内容を確認したところ、最初に追加されたデータがアプリによって追加されたデータと異なることがわかりました。ユーザー名とパスワードの後に​​続くバイナリ データが含まれています。PAM db データ形式は何ですか? 問題を解決するには?

これは、新しいメインディッシュが追加される前の db_dump 出力です

そして、「user5」と「pass5」で追加された新しいメインディッシュの後