GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu – Pam_execに現在のユーザーとしてスクリプトを実行させる方法は?

セッションを開いたときに、セッションを開いたユーザーとしてスクリプトを実行する必要があります。

/etc/pam.d/common-sessionに追加しました:

session optional        pam_exec.so      log=/tmp/test_pam_foo.log /usr/local/bin/test_pam_foo.sh

また、pam_execのオプションseteuidをアクティブ化しようとしました

基本的なスクリプト/usr/local/bin/test_pam_foo.sh:

#!/bin/sh
id -u >> /tmp/test_pam_foo
id -ru >> /tmp/test_pam_foo

残念ながら、私はいつもを取得します 実効IDおよび実IDとして。

何か足りないのですか?

別の方法として、pam-scriptと混同しないようにpam_scriptの存在を知っています。

そのpam_scriptはデフォルトで現在のユーザーとして実行され、オプションrunasがあります ルートとして実行するように強制します。ただし、ディストリビューション(Ubuntu 12.04)にすでにパッケージ化されているpamライブラリの使用を特権的にしたいと思います。

承認された回答:

ええと、あなたは/usr/local/bin/test_pam_foo.shを持つことができます

PAM_USERにあるため、ユーザーを変更します 環境変数。

pam_execのメモに注意してください 環境を潜在的に制御しているユーザーに関するマニュアルページ(使用するサービスによって異なります(suなど) ))。したがって、スクリプトを使用することはおそらく良い考えではありません($PATHを修正したとしても) その他の問題のある変数には、bashスクリプトのSHELLOPTSやBASH_ENVなど、何もできないものがあります。

スクリプトを呼び出す前に、ラッパーを使用してユーザーを変更するのが最善です。


Ubuntu
  1. ユーザーがUbuntuLinuxでsudoを使用できるようにする方法

  2. Ubuntu 20.04でターミナルをカスタマイズする-それを行う方法は?

  3. Ubuntu 18.04で現在のディレクトリのパスをコピーする方法は?

  1. Bashスクリプトを実行する方法{7メソッド}

  2. Ubuntu 17.10でWiresharkを実行する方法は?

  3. スクリプトを実行する方法??

  1. Ubuntu18.04または20.04にHadoopをインストールする方法

  2. Ubuntuでユーザーを削除する方法

  3. UbuntuでSudoユーザーを作成する方法