Linux UserName журнала завершения работы

Если Вы хотите использовать свой путь, попробуйте, возможно:

ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}

или с find Я сделал бы:

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;

В команде находки не забывайте завершенную точку с запятой. Также обратите внимание, что находят работы почти таким же путем как xargs при использовании с - исполнительная опция.

2
02.01.2014, 16:51
1 ответ

Примечание: Основное внимание этого ответа на показ, когда система была загружена/завершена работу. Получение фактического пользователя, который выполнил завершение работы, немного более хитро. Лучшим способом я видел сделанный, должен ограничить доступ к системе и только дать определенные операторы sudo права на shutdown команда. Это даст Вам журнал того, кто работал что sudo команда и в какое время они сделали это. Это намного выше затем, чтобы попытаться взломать shutdown команда!

1. Парсинг файлов журнала

Большинству систем уже содержали эту информацию в их журналах, просто необходимо знать, что искать.

Файлы журнала /var/log/messages, /var/log/syslog (Ubuntu) или /var/log/secure (CentOS) будет обычно иметь это.

Примеры

$ sudo grep -iE "shutdown|boot" secure*
secure-20131215:Dec 14 02:08:56 greeneggs sudo:     saml : TTY=pts/6 ; PWD=/home/saml ; USER=root ; COMMAND=/sbin/reboot

2. В прошлый раз загруженная система?

Для этого можно использовать who команда. Конкретно с -b переключатель.

$ who -b
         system boot  2013-08-01 17:56

Это говорит в прошлый раз, когда система была загружена, был 01.08.2013.

3. Прошлые перезагрузки

Если Вы интересуетесь наблюдением более обширного списка предыдущих перезагрузок, можно использовать last команда.

$ last reboot | less
reboot   system boot  2.6.35.14-106.fc Thu Aug  1 17:56 - 02:03 (7+08:06)   
reboot   system boot  2.6.35.14-106.fc Thu Aug  1 09:41 - 17:55  (08:14)    
reboot   system boot  2.6.35.14-106.fc Thu Jul 25 15:24 - 17:55 (7+02:31)   
reboot   system boot  2.6.35.14-106.fc Thu Jul 18 18:05 - 15:23 (6+21:17)   
...

4. Прошлые завершения работы системы и изменения runlevel?

Можно использовать last команда для этого также. Необходимо будет использовать -x переключатель.

$ last -x | less
saml     pts/7        :pts/6:S.0       Sat Aug  3 21:30 - 21:30  (00:00)    
saml     pts/6        :0.0             Sat Aug  3 21:29 - 21:30  (00:01)    
saml     pts/4        :0.0             Fri Aug  2 21:49 - 22:16 (2+00:26)   
saml     pts/2        :0.0             Fri Aug  2 13:30 - 22:16 (2+08:45)   
saml     pts/1        :0.0             Fri Aug  2 13:05   still logged in   
saml     pts/0        :0.0             Fri Aug  2 12:37   still logged in   
saml     pts/0        :0.0             Fri Aug  2 12:35 - 12:37  (00:02)    
saml     pts/0        :0.0             Thu Aug  1 17:58 - 12:35  (18:36)    
saml     tty1         :0               Thu Aug  1 17:56   still logged in   
runlevel (to lvl 5)   2.6.35.14-106.fc Thu Aug  1 17:56 - 02:04 (7+08:08)   
reboot   system boot  2.6.35.14-106.fc Thu Aug  1 17:56 - 02:04 (7+08:08)   
shutdown system down  2.6.35.14-106.fc Thu Aug  1 17:55 - 17:56  (00:00)    
runlevel (to lvl 6)   2.6.35.14-106.fc Thu Aug  1 17:55 - 17:55  (00:00)    
saml     tty2                          Thu Aug  1 17:54 - down   (00:01)    
root     tty2                          Thu Aug  1 17:53 - 17:54  (00:00)    
...

Ссылки

6
27.01.2020, 21:54
  • 1
    Обратите внимание, что, насколько я могу сказать, это все еще не говорит Вам, кто завершил работу его, так как это, вероятно, будет корень. +1 однако, потому что другой ответ опасен, и это почти столь хорошо, как это добирается без dbus. –  Chris Down 02.01.2014, 11:10
  • 2
    @ChrisDown - да это - на самом деле биты из другого ответа, я отдал пару месяцев. Я испытал желание отметить этот Q как дубликат, но он просит то, кто, и это не на самом деле выполнимо, как Вы указали также. Другой Q просил когда и кто. –  slm♦ 02.01.2014, 11:13
  • 3
    @ChrisDown - Я добавил плач в вершине, упомянув трудности при получении пользователя и использования sudo было самым соответствующим. Не стесняйтесь кузнецу слова он далее, если Вы чувствуете, что этому нужна дополнительная формулировка. –  slm♦ 02.01.2014, 11:23
  • 4
    @ASCIIbetical - достаточно ярмарка, никогда не принимайте ответ, если Вы не чувствуете, что это решает Вашу проблему. 8-). Вы используете sudo в Вашей системе? Я верю в мой, я объяснил то использование sudo будет единственный способ, которым Вы найдете имя пользователя и завершите работу событий. В примере я показал, файл журнала /var/log/secure* содержит эти записи выполнения userX reboot или shutdown команды. –  slm♦ 03.01.2014, 06:08
  • 5
    @ASCIIbetical - это было моим точным местом в 1-м абзаце. Вы не можете знать, потому что существует интерфейс, который ловит сигнал завершить работу/перезагрузить и затем инициировал его. Этот процесс работает как корень, таким образом, Вы никогда не будете видеть имени пользователя тот путь. Используя sudo и отгораживание доступа к завершению работы/перезагрузке, как системные администраторы делают это. Мы управляли состоянием 500 инфраструктур компаний, и это - то, как мы сделали это там. –  slm♦ 03.01.2014, 06:57

Теги

Похожие вопросы