質問: パスワードなしでuser1に "su-user2"を許可する ユーザーmartinがパスワードなしでユーザーmartin-testに切り替えることを許可する必要がありますsu - martin-test これは/etc/pam.d/suで設定できると思います。そのファイルにはすでにコメント解除できる行がいくつかあります。ただし、ユーザーmartinをグループwheelに追加するという考えは好きではありません。 martinにmartin-testに切り替えられる以上の特権を与えたくありません。また、sudoを使用したくありません。ユーザーmartinの特権を最小限に抑えながら、それを行うための最良の方法は何ですか?
回答: グループを変更したくない場合、またはsudoを使用しない場合は、pam_execというpamモジュールを使用して、pamステージで外部スクリプトを実行します。/etc/pam.d/su行の後のpam_rootok.soに行を追加します。auth sufficient pam_exec.so quiet /path/to/script /path/to/scriptには、権限755(rwxr-xr-x)と次のコンテンツがあります。#!/bin/bash if [ "$pam_type" == "auth" ] && \ [ "$pam_user" == "martin-test" ] && \ [ "$pam_ruser" == "martin" ]; then exit 0 else exit 1 fi したがって、suの場合、このスクリプトは正常に終了します。 認証のコンテキストで呼び出され、 呼び出し元のユーザーはmartinであり、 認証するユーザーはmartin-testです。 見る:martin@host:~$ su - martin-test martin-test@host:~$ exit martin@host:~$ su - otheruser password: **** otheruser@host:~$