Bagaimana cara melihat histori perintah dari pengguna lain di Linux?

30

Bagaimana saya bisa melihat riwayat perintah pengguna lain?

Saya seorang admin di komputer saya. Saya bisa melihat riwayat normal dengan melihat /home/user_name/.bash_historytetapi saya tidak bisa melihat perintah itu user_nameketika mereka melakukannya sudo.

Apakah ada cara untuk melihat semua perintah yang dijalankan oleh satu pengguna?

Sean Nguyen
sumber
1
Curi kata sandinya :) atau dengan rekayasa sosial .. Jika Anda tidak me-root, dan akun Anda diatur sedemikian rupa sehingga Anda tidak bisa pergi / membaca rumah / file pengguna lain Anda cukup banyak dibatasi.
pembawa cincin
8
"Saya seorang admin di komputer saya."

Jawaban:

23

Pada sistem operasi berbasis Debian, melakukan tail /var/log/auth.log | grep username harus memberi Anda sudoriwayat pengguna . Saya tidak percaya ada cara untuk mendapatkan riwayat perintah terpadu dari perintah + sudo normal pengguna.

Pada sistem operasi berbasis RHEL, Anda perlu memeriksa /var/log/securealih-alih /var/log/auth.log.

Kerin
sumber
Adakah petunjuk apa ini pada sistem centos? Mesin Centos 7 saya tidak punya/var/log/auth.log
Mitch
3
Coba /var/log/securesaja.
Kerin
Bekerja dengan sempurna! Cukup masukkan permintaan edit pada jawaban Anda
Mitch
4

Baru saja menguji yang berikut, dan itu berfungsi seperti pesona.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
Tyson
sumber
1
Dia sudah mengetahui perintah ini. Dari pertanyaan awal: "Saya bisa melihat riwayat normal dengan melihat /home/user_name/.bash_history tetapi saya tidak bisa melihat perintah" user_name "itu ketika mereka melakukan sudo."
Michael Thompson
2

Jika pengguna mengeluarkan perintah seperti pada sudo somecommand, perintah akan muncul di log sistem.

Jika pengguna menelurkan shell dengan misalnya, sudo -s, sudo su, sudo sh, dll, maka perintah mungkin muncul dalam sejarah user root, yaitu, dalam /root/.bash_historyatau serupa.

bdonlan
sumber
1
Di mana log sistem?
Garrett
1

# zless /var/log/auth*apakah temanmu disini Bahkan membuka file yang di-gzip. Anda dapat melompat di antara mereka dengan :nmaju atau :pmundur.

Atau, Anda dapat menggunakan # journalctl -f -l SYSLOG_FACILITY=10misalnya. Baca lebih lanjut tentang ini di wiki Arch Linux

AdamKalisz
sumber
1

gunakan perintah di bawah ini

sysdig -c spy_users

jika sysdig tidak diinstal , instal di sini

sachin_ur
sumber
0

Mungkin tautan ini memiliki nilai bagi Anda: http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

Tetapi Anda harus keberatan bahwa tidak meninggalkan jejak di bash_history hanyalah masalah memulai perintah dengan spasi etcpp. Sejarah adalah penolong, bukan alat logging.

Salam dari Jerman, Daniel Leschkowski


sumber
-1

Logikanya berlaku untuk banyak tujuan lain.
Dan bagaimana cara membaca .sh_history setiap pengguna dari / home / filesystem? Bagaimana jika jumlahnya ribuan?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

Ini skripnya.

Igor MV
sumber