Tidak terkait pemrograman. Saya sarankan Anda bertanya di superuser.com .
Tidak ada alat standar untuk mendapatkan informasi, jadi saya pikir ini pemrograman (setidaknya dalam arti 'scripting') - terkait.
IanH
Jawaban:
11
Anda mendapatkan daftar pengguna yang saat ini masuk /var/run/utmp(lihat man 5 utmp). Riwayat disimpan di ~ / .history atau untuk pengguna bash di ~ / .bash_history. Kerang lain mungkin menggunakan file riwayat lain, jadi tidak mudah untuk mendapatkan semua informasi.
Selain itu, jika pengguna login berkali-kali, file .bash_history tidak selalu dapat diandalkan.
Untuk membaca utmpfile ada "frontend" yang dipanggil who, jadi Anda juga bisa menulis shell-script untuk beralih pada pengguna yang sedang login.
Riwayat saat ini disimpan dalam memori. File riwayat hanya menunjukkan apa yang ditulis menggunakan history -aatau serupa atau ketika pengguna keluar dari shell.
Dijeda sampai pemberitahuan lebih lanjut.
2
Perhatikan bahwa nama file yang diberikan dalam jawaban ini hanyalah default. Setiap pengguna bisa mengatur lokasinya sendiri (lihat jawaban Joy). Jika pengguna menggunakan shell yang berbeda, mereka dapat menyimpan histori mereka di lokasi yang berbeda dan non-default (misalnya ~ / mybashhist, ~ / histories / ksh atau semacamnya). Perlu diketahui juga bahwa mengintip data pengguna seperti itu mungkin memiliki implikasi hukum.
Jawaban:
Anda mendapatkan daftar pengguna yang saat ini masuk
/var/run/utmp
(lihatman 5 utmp
). Riwayat disimpan di ~ / .history atau untuk pengguna bash di ~ / .bash_history. Kerang lain mungkin menggunakan file riwayat lain, jadi tidak mudah untuk mendapatkan semua informasi.Selain itu, jika pengguna login berkali-kali, file .bash_history tidak selalu dapat diandalkan.
Untuk membaca
utmp
file ada "frontend" yang dipanggilwho
, jadi Anda juga bisa menulis shell-script untuk beralih pada pengguna yang sedang login.sumber
history -a
atau serupa atau ketika pengguna keluar dari shell.Kemudian lihat file itu.
sumber
HISTFILE
sesuatu yang lain).