Linux:シリアルコンソールを介してコンピューターが制御されているかどうかを検出する方法
質問
シリアルコンソールを使用してログインしたユーザーがLinuxマシンを制御しているかどうかをプログラムで検出するにはどうすればよいですか? BASHを使用してチェックを行います。
解決
who
コマンドを使用すると、ログオンしているユーザーとログオン元のリストが表示されます。
例:
~$ who
john pts/1 2009-07-29 10:06 (ourcompanyvpnserver.org)
mary tty7 2009-07-29 10:11 (:0)
frank pts/2 2009-07-27 12:10 (att.net)
jim pts/4 2009-07-28 14:51 (comcast.net)
「how」を示すwhoの出力;ユーザーはログインしています。ユーザーmaryのコンソールは tty7
にフックされていますttyは、maryがシリアルコンソールを介して物理的にログインしていることを示します。したがって、maryはシリアルコンソールを介してコンピューターを制御することができます。
彼女が何をしているかを判断するには、her.bash_historyファイルを調べる必要があります。通常、これは/home/mary/.bash_historyの下にあります。
シリアルコンソール(そのマシンに接続されているキーボード)を介して入力されるすべてのコマンドを長期間ログに記録する場合は、Linuxシリアルドライバーを変更してすべての入力と出力を記録します。どれほど難しいかわかりません。
他のヒント
指の解析を試してください。通常、IP / DNSアドレスを取得できます。 Havnはシリアル接続を見たことがないので、シリアル接続を表示するかどうかは言えません。
コマンドラインから who を使用できます。
ローカルコンピューターで確認する場合...
$ who >> log.txt
そして、そのファイルに余分な行があるかどうか、またはあなたが望むものをチェックします。
シリアルインターフェイスを介して端末でスクリプトが実行されるかどうかを確認する場合は、ttyを実行してデバイス名を確認するだけです。
所属していません StackOverflow