状況。特別なシェルに降格された制限付きユーザーの環境をデバッグしています。これを行うには、次のように su を使用して、そのユーザーとして完全なコンテキストでコマンドを実行する必要があります。
su - $user -c "echo hello world" --shell /bin/custom_shell
/bin/custom_shell が実行するコマンドとコマンドのパラメータを変更することはできますが、custom_shell が実行するパラメータを追加するにはどうすればよいでしょうか? 「--debug」パラメータを追加するのと同等の例:
root->su - $user
$user->/bin/custom_shell --debug --command "echo hello world"
注: ログイン中に多くのプロファイル変数と作業ディレクトリの変更が行われるため、sudo はこの場合機能しません。これが、私が su を使用している理由です。また、これは奇妙な断続的な問題であり、スクリプト化して実行できる必要があります。そうでない場合は、su - $user と手動でコマンドを実行すると機能する可能性があります。ただし、私にはその余裕がありません。