0

シリアルコンソールを使用してログインしたユーザーがLinuxマシンを制御しているかどうかをプログラムで検出するにはどうすればよいですか?私はBASHを介してチェックを行います。

4

5 に答える 5

2

この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)

ユーザーが「どのように」ログインしているかを示すwhoの出力。ユーザーmaryのコンソールが接続されてtty7いるttyは、maryがシリアルコンソールを介して物理的にログインしていることを示します。したがって、メアリーには、シリアルコンソールを介してコンピュータを制御する機能があります。

彼女が何をしているかを判断するには、her.bash_historyファイルを確認する必要があります。通常、これは/home/mary/.bash_historyの下にあります。

シリアルコンソール(そのマシンに接続されているキーボード)を介して入ってくるすべてのコマンドを長期間ログに記録したい場合は、すべての入力と出力をログに記録するようにLinuxシリアルドライバーを変更します。それがどれほど難しいかはわかりません。

于 2009-07-29T16:02:58.680 に答える
0

スクリプトがシリアルインターフェイスを介して端末で実行されているかどうかを確認する場合は、ttyを実行してデバイス名を確認するだけです。

于 2009-07-29T18:05:30.500 に答える
0

finger を解析してみてください。通常、IP/DNS アドレスを取得できます。シリアル接続を見たことがないので、シリアル接続が表示されるかどうかはわかりません。

于 2009-07-29T15:20:45.050 に答える
0

コマンド ラインからwhoを使用できます。

于 2009-07-29T15:21:11.790 に答える
0

ローカル コンピューターで確認する場合は...

$ who >> log.txt

そして、そのファイルに余分な行があるかどうか、または必要なものを確認します。

于 2009-07-29T15:21:59.043 に答える