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?


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.


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

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.


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



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


-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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.