Как узнать, кто/что вызвало перезагрузку/выключение?

Из Список только переплетных креплений , кажется, что переплетные крепления невозможно отличить от оригинала после монтажа. Хотя частичные привязки (, когда подкаталог точки монтирования смонтирован где-то ), по-разному отображаются в выводе findmnt, невозможно отличить точку монтирования, которая была смонтирована в другом месте.

Так что, если бы я это сделал:

sudo mount -o bind / /srv
sudo mount -o bind /media /mnt

Я не смог бы различить /и /srvс точки зрения информации о монтировании, но мог бы различить /mediaи /mnt.

Итак, остается просто удалить повторяющиеся записи изfindmnt:

findmnt -n -t btrfs -o UUID,TARGET -r | awk '!a[$1]++'

Используйте параметр -rвместо -l, который будет экранировать специальные символы в выводе, чтобы вы могли безопасно обрабатывать пути:

$ findmnt -n -t ext4 -o UUID,TARGET -r
d4873b63-0956-42a7-9dcf-bd64e495a9ff /
..
d4873b63-0956-42a7-9dcf-bd64e495a9ff /srv/media
d4873b63-0956-42a7-9dcf-bd64e495a9ff /a\x20b
d4873b63-0956-42a7-9dcf-bd64e495a9ff /srv/a\x20b

Здесь a bэкранируется как a\x20b. Вы можете использовать printf "%b"в bash для расширения экранированных символов:

$ findmnt -n -t ext4 -o UUID,TARGET -r | bash -c 'while read -r uuid point; do printf "%b\n" "$point"; done'
/
...
/srv/media
/srv/a b
/a b
/srv/a b

2
18.12.2019, 16:59
2 ответа

Просмотрите системные журналы предыдущей загрузки с помощью sudo journalctl -b -1 -e.

Изучить /var/log/auth.log.

Вы уверены, что это не одно из следующих событий: "отключение питания/всплеск", "перегрев ЦП",....

В МОЕЙ системе (Ubuntu 16.04,6 ),

sudo journalctl | grep shutdown
Jan 29 12:58:07 bat sudo[14365]: walt : TTY=pts/0 ; PWD=/home/walt ; USER=root ; COMMAND=/sbin/shutdown now
Feb 12 11:23:59 bat systemd[1]: Stopped Ubuntu core (all-snaps) system shutdown helper setup service.
Feb 19 09:35:18 bat ureadahead[437]: ureadahead:lxqt-session_system-shutdown.png: Ignored relative path
Feb 19 09:35:18 bat ureadahead[437]: ureadahead:gshutdown_gshutdown.png: Ignored relative path
Feb 19 09:35:18 bat ureadahead[437]: ureadahead:mate-gnome-main-menu-applet_system-shutdown.png: Ignored relative path
Feb 27 16:45:40 bat systemd-shutdown[1]: Sending SIGTERM to remaining processes...
Mar 05 17:53:27 bat systemd-shutdown[1]: Sending SIGTERM to remaining processes...
Mar 15 09:57:45 bat systemd[1]: Stopped Ubuntu core (all-snaps) system shutdown helper setup service.
Mar 21 17:40:30 bat systemd[1]: Stopped Ubuntu core (all-snaps) system shutdown helper setup service.
Apr 15 18:16:37 bat systemd[1]: Stopped Ubuntu core (all-snaps) system shutdown helper setup service.
...

Первая строка показывает, когда пользователь waltсделал sudo shutdown now.

8
27.01.2020, 21:58

Короче говоря, только пользователь root или привилегированные пользователи root могут выключать/перезагружать систему.

  1. Запуск команды last -xдля поиска отметки времени действий
root@personal:~# last -x
ubuntu   pts/0        116.102.181.245  Wed Dec 18 16:28   still logged in
runlevel (to lvl 5)   4.15.0-1047-aws  Wed Dec 18 16:27   still running
reboot   system boot  4.15.0-1047-aws  Wed Dec 18 16:27   still running
shutdown system down  4.15.0-1047-aws  Wed Dec 18 16:27 - 16:27  (00:00)
ubuntu   pts/0        116.102.181.245  Wed Dec 18 16:25 - 16:27  (00:02)
runlevel (to lvl 5)   4.15.0-1047-aws  Wed Dec 18 16:24 - 16:27  (00:03)
  1. В результате last -xнайдите недавно зарегистрированных пользователей, переключитесь на них и проверьте историю, затем
root@personal:~# su - ubuntu
ubuntu@personal:~$ history 10
  312  dig @1.1.1.1 xxx +short
  313  dig @8.8.8.8 xxx +short
  314  dig @8.8.4.4 xxx +short
  315  exit
  316  sudo su -
  317  sudo reboot
  318  sudo su -
  319  history
  320  last -x
  321  history 10
  1. ИЛИ проверьте журналы изjournalctl
root@personal:~# journalctl | grep reboot
Sep 05 03:07:04 ip-172-31-36-28 cron[710]: (CRON) INFO (Running @reboot jobs)
Sep 05 13:49:11 personal python3[21347]: ansible-command Invoked with _raw_params=sleep 10 && reboot _uses_shell=True warn=True stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None
Sep 05 13:51:23 personal python3[22042]: ansible-command Invoked with _raw_params=sleep 10 && reboot _uses_shell=True warn=True stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None
Sep 05 13:54:21 personal systemd-logind[715]: System is rebooting (Reboot initiated by Ansible).
Sep 05 13:54:36 personal cron[573]: (CRON) INFO (Running @reboot jobs)
Dec 18 16:24:30 personal cron[651]: (CRON) INFO (Running @reboot jobs)
Dec 18 16:27:36 personal sudo[915]:   ubuntu : TTY=pts/0 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/sbin/reboot
Dec 18 16:27:54 personal cron[641]: (CRON) INFO (Running @reboot jobs)

Кстати, вы можете узнать больше по этим ссылкам:

1
27.01.2020, 21:58

Теги

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