Sshを使用してサーバーにログインするときはいつでも。プロンプトで「最後のログイン」情報が表示されます。私はこの情報がどこから来るのか疑問に思っていました。このレコードを削除して、他の誰かが同じサーバーにログインしたときに、その人が自分のIPを含む私のログイン情報を見ることができるようにするにはどうすればよいですか?
どうすればこれを行うことができますか?記録のために、私は誰かのコンピュータをハッキングしておらず、サーバーはUbuntu 12.04を実行しています。
編集:どのファイルこの種の情報を記録しますか?ファイルが見つかったら、ルートとして何でもできます。
ありがとう。
/ var/log/lastlogに加えて、/var/run
および/var/log
には、utmp
、wtmp
およびbtmp
の3つのファイルがあり、現在のログインに関する情報(および追加情報)、過去のログインおよび失敗したログイン。詳細については http://en.wikipedia.org/wiki/Utmp を参照してください。通常のエディターでファイルを編集することはできませんが、ファイルを消去することはできます。
Ubuntuでは、/etc/ssh/sshd_config
にあります。
次のような行を見つけます。
PrintLastLog yes
そしてに変更
PrintLastLog no
(存在しない場合は追加)
utmpは通常、/ var/logではなく、/ var/runにあります。 wtmpとbtmpは/ var/logにあります。
sshは、これら3つのファイルに書き込む唯一のプログラムではありません。それらを削除すると、誰かが示唆したように、多くのプログラムを壊してしまいます。彼らはそこにいると期待されています。 Cameron Azizの提案に従って、/ etc/ssh/sshd_configファイルを変更します。
シェルのプロセスはあなただけではありません。シングルタスクオペレーティングシステムを使用していない。真のネットワークオペレーティングシステムでの作業に慣れることは、メインフレームと学習計算を使用することで、私がこれまでに行った中で最も難しい精神的変化の1つでした。実際には、これは、システムでのファイルの動作を正確に理解していない限り、ファイルを削除してはならないことを意味します。
一部のファイルがどれだけ広く使用されているかを知るために、lsofを見て、それを試してみてください。 lsofでさえ、現在プロセスがファイルを使用していることを通知するだけであり、履歴データを提供しないため、注意してください。
PrintLastLog構成キーワードは、/ var/log/lastlogファイルから情報を取得します
コマンド lastlog を使用して、コマンドラインでこの情報を表示できます。
GNUおよびBSD(Mac OS X)で機能する代替案を示します。また、ほとんどの設定がデフォルトでコメント化されていることを説明しています-とにかくEl Capitanにあります):
Sudo sed -i.bak "s/^#?PrintLastLog yes$/^PrintLastLog no$/" /etc/ssh/sshd_config
-i.bak
の変更がなければ、次のようになりました。
sed: 1: "/etc/ssh/sshd_config": bad flag in substitute command: 'h'
これは自動的にこれを行うコマンドです:
Sudo sed -i "s/PrintLastLog .*/PrintLastLog no/1" /etc/ssh/sshd_config