誰かがWinscpを使用してセッションを開くとき、who
またはコマンドを実行してlast
も、そのセッションはLinuxに表示されません。 sshを利用して接続するために現れると思いました。ところで、まだ記録はありません。これはセキュリティ上の問題である可能性があります。
つまり、ユーザーがログインして特定のファイルを削除しても、何も記録されません。どのように追跡しますか?
答え1
who
そしてlast
ログインした場合にのみ表示されます。使用時にはscp
リモート側のシェルがそのまま作成されないため、技術的にログインにはなりません。
このようなものを追跡するには、プロセスアカウントを使用する必要があります。ロギングと呼ばれるパッケージは、psacct
ロギングレベルを提供できます(必要に応じて)。必要に応じてSSHを介したロギングを強化して、これらの詳細の一部を表示することもできます。
コマンドwho
はlast
この目的には使用されません。
結局誰と?
この用語はログインしているので、人々は常に混乱していますが、2つの異なる状態です。 Webサーバーに接続すると、ログインせずにリモートシステムのリソースが消費されます。これが本質的にあなたがやっていることですscp
。
Last & Whoのマニュアルページから抜粋
最後WHOlast、lastb - 最後にログインしたユーザーのリストを表示します。
who - 誰がログインしたかを表示します。
はい
ここではSFTPを使用してサーバーにログインしましたが、気付かなかっwho
たlast
。
$ ps auxf | less
...
root 3376 0.0 0.0 7212 1040 ? Ss Sep10 0:00 /usr/sbin/sshd
root 29066 0.0 0.0 10108 3004 ? Ss 09:44 0:00 \_ sshd: sam [priv]
sam 29071 0.0 0.0 10240 1836 ? S 09:44 0:00 | \_ sshd: sam@notty
sam 29072 0.1 0.0 6708 1740 ? Ss 09:44 0:00 | \_ /usr/libexec/openssh/sftp-server
root 29202 0.1 0.0 10084 3052 ? Ss 09:44 0:00 \_ sshd: root@pts/0
root 29204 0.6 0.0 6268 3052 pts/0 Ss 09:44 0:00 \_ -bash
root 29255 0.0 0.0 4624 1108 pts/0 R+ 09:45 0:00 \_ ps auxf
root 29256 0.0 0.0 4288 760 pts/0 S+ 09:45 0:00 \_ less
ログインシェルとして実行されるシェルがないため、技術的にログインしていません。ルートとしてシステムに入ると、上記のようにssh
シェルがありますbash
。
出力はwho -a
次のことを確認します。
$ who -a
2014-09-10 05:15 398 id=si term=0 exit=0
system boot 2014-09-10 05:15
run-level 5 2014-09-10 05:15 last=S
2014-09-10 05:16 2307 id=l5 term=0 exit=0
LOGIN tty1 2014-09-10 05:16 3785 id=1
LOGIN tty2 2014-09-10 05:16 3786 id=2
LOGIN tty3 2014-09-10 05:16 3787 id=3
LOGIN tty4 2014-09-10 05:16 3788 id=4
LOGIN tty5 2014-09-10 05:16 3792 id=5
2014-09-10 05:16 3794 id=6
2014-09-10 05:16 3799 id=x
root + pts/0 2014-09-25 09:51 . 29300 (mulder.mydom.net)
pts/1 2014-09-24 16:36 20324 id=ts/1 term=0 exit=0
pts/1 2014-09-12 02:40 27603 id=/1 term=0 exit=0
pts/2 2014-09-12 03:21 27820 id=ts/2 term=0 exit=0
SFTP 接続を使用するユーザー sam は参照されません。シェルが対話型であることを確認するには、次のU&L Q&Aを確認してください。シェルがログイン/対話型/配置であることを確認する方法。