2012-05-29 18 views
5

ユーザーログイン認証の直後に実行したいスクリプトがあります。これを達成するために、/etc/rc5.d/S##rc.localファイルにスクリプト名を追加しました。しかし、後で私は、ログイン認証の後ではなく、システムのブート時にrc.localファイルに追加されたものが実行されることを知る必要があります。誰でも私のログイン認証後にスクリプトを実行する方法を教えてもらえますか?linuxでユーザーログイン認証後にスクリプトを実行する方法

session optional pam_exec.so /bin/bash /path/to/your/script.sh 

現在のユーザーが実際に管理者である場合は、(管理者であることのためにどのような基準に基づいて)あなたのスクリプトで確認する必要があります:あなたの/etc/pam.d/loginにこれを追加すること

+1

便宜のため、またはセキュリティのためにこれを行っていますか?私。エイリアスの追加、変数の設定など、ログイン環境を設定したいのですか、ユーザーがログインを削除しないでログインするたびにスクリプトを実行しますか? – lanzz

+0

セキュリティ目的のため。実際に私はシステム管理者がログインするたびにスクリプトを実行したい。 – user976754

+2

以下の回答のいずれかが役に立った場合は、受け入れ済みとしてマークしてください。ありがとう。 – woohoo

答えて

3

してみてください。

+0

こんにちはLanzz、これを/etc/pam.d/loginスクリプトに追加しました。しかし、私のスクリプトをexceutedにすることができません... – user976754

+0

'pam_exec'は明らかに、ユーザがログオンしている端末にその出力を表示しません。スクリプト内に何かを表示する必要があるのか​​、単にバックグラウンドで何かを実行する(例:通知を送信する)必要がありますか?スクリプトの出力がログに記録されるログファイルを追加することができます: 'session optional pam_exec.so log =/path/to/logfile/bin/bash/path/to/your/script.sh' – lanzz

+0

この行が見つかりませんでした'/ etc/pam.d/login'を実行します。セッションオプションのpam_exec.so type = open_session stdout/bin/uname -snrvm – Nope

13

また、/etc/profile.dフォルダにスクリプトを追加することもできます。

この詳細についてはherehereです。

基本的には、スクリプトの拡張子を.shにする必要があります。これらのファイルはすべて、ユーザーがログオンした後にループ内で実行されるためです。

+0

本当にうまくいきました。ありがとう:) – user976754

+1

@ user976754:それはあなたを助けてうれしいです。この質問のためのあなたの受け入れられた答えとして私の答えをマークしてください:) – woohoo

+0

/etc/profile.dの下にファイルを作成するためにroot権限を持っている必要があるように見えます ユーザはログインするとどのようにファイルが実行されますか?ファイルはrootによって所有されるため。 – ams

関連する問題