可能な限りクロスプラットフォームの方法で、どのユーザーが特定のプロセスセッションの所有者であるかを確認する方法を実装しようとしています。
Linuxでは、/proc/PID/fd/0 -> /dev/pts/31
リンクをたどって端末を所有しているutmpファイルを見ると、プロセスのptyを追跡できます。例えば、AIX 6.1ではこれをどのように実行しますか?/proc/PID/fd
Linuxなどのシンボリックリンクの代わりにcharファイルが含まれています。また、AIX 6.1のutmpファイル内の単一項目の正確な構造は何ですか? 7.1を使って読む[http://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.files/utmp.h.htm]utmp構造ですが、実際にはパターンには合いません。
ベストアンサー1
ptがある場合は、インタラクティブ、つまり添付されたptのような疑似端末であるとします。私はこれをサーバーのbash監査人によって使用しており、sudo su -
ユーザーがrootに切り替えてもユーザー名を提供します。
stat -c %U $(tty)
tty
名前を入手してください。/dev/pts/0
- statを使用してファイル所有者名を取得する
シェルは$(tty)
次のように拡張されます。
stat -c %U /dev/pts/0
必要に応じて、ls -l /dev/pts
すべての擬似端末の所有者を表示できます。