ユーザーが共有ユーザー アカウントに sudo されている間、実行される場合と実行されない場合があるアプリケーションがあります。一種の「名誉システム」ACL の実際のユーザーが誰であるかを確実に識別したいと考えています。親/グループ/セッション プロセス ID をpstree
コマンドのようにトレースする方法があると思いますが、それを最善の方法で行う方法や、より良い代替手段があるかどうかはわかりません。
もともとやってみgetlogin()
た。が使用されている場合./myapp
は機能しますが、「cat input |」で失敗します。./myapp` (「制御端末」は共有アカウントが所有するパイプであるため)。
unset
情報がまだ他の場所で利用可能な場合、「名誉システム」が単純に完全に妨害されたくないので、環境変数を信頼したくありません。
wtmp
また、リモート RPC (NIS または LDAP) であり、必要な情報が既に含まれていると確信しているため、パスワード データベースのルックアップを強制することも避けたいと思います。