Як переглянути історію команд іншого користувача в Linux?


30

Як я можу переглянути історію команд іншого користувача?

Я адміністратор на своїй машині. Я бачу нормальну історію, переглядаючи, /home/user_name/.bash_historyале не можу бачити команди, user_nameколи вони це робили sudo.

Чи є спосіб переглянути всю команду, виконану одним користувачем?


1
Викрадіть його пароль :) або за допомогою соціальної інженерії. Якщо ви не користуєтеся кодом, і ваш обліковий запис налаштований таким чином, що ви не можете перейти / прочитати додому / файли інших користувачів, які ви значно обмежені.
носія кільця

8
"Я адміністратор на своїй машині."

Відповіді:


23

У операційних системах, що базуються на Debian, робота tail /var/log/auth.log | grep username повинна дати вам sudoісторію користувача. Я не вірю, що існує спосіб отримати уніфіковану історію команд звичайних команд + sudo.

У операційних системах на базі RHEL вам потрібно перевірити /var/log/secureзамість /var/log/auth.log.


Будь-яка підказка, що це було б у системі centos? Мої машини Centos 7 не мають/var/log/auth.log
Мітч

3
Спробуйте /var/log/secureзамість цього.
Керін

Працює чудово! Просто поставте запит на редагування своєї відповіді
Мітч

4

Просто випробували наступне, і це спрацювало як шарм.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
Він / він вже знає про цю команду. З початкового запитання: "Я бачу нормальну історію, переглядаючи /home/user_name/.bash_history, але я не бачу команд цього" ім'я користувача ", коли вони робили судо."
Майкл Томпсон

2

Якщо користувач видав команду як і раніше sudo somecommand, команда з’явиться в системному журналі.

Якщо користувач породив оболонку з , наприклад, sudo -s, sudo su, sudo shі т.д., то команда може з'явитися в історії суперкористувача, тобто, в /root/.bash_historyабо аналогічний.


1
Де знаходиться системний журнал?
Гаррет

1

# zless /var/log/auth*твій друг тут. Він відкриває навіть gzipped файли. Ви можете перестрибувати між тими, хто :nрухається вперед або :pназад.

Крім того, ви можете використовувати, # journalctl -f -l SYSLOG_FACILITY=10наприклад. Детальніше про це читайте на вікі Arch Arch


1

використовувати команду нижче

sysdig -c spy_users

якщо sysdig не встановлений , встановіть тут


0

Можливо, це посилання має для вас цінність: http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

Але вам слід пам’ятати, що залишити сліди в bash_history - це лише питання запуску команди з пробілу etcpp. Історія - це помічник, а не інструмент для лісозаготівлі.

Привітання з Німеччини, Даніель Лешковський


-1

Логіка стосується багатьох інших цілей.
І як читати .sh_history кожного користувача з / home / файлової системи? Що робити, якщо їх тисячі?

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

Ось сценарій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.