Поиск по сайту:

Как изменить файл журнала Sudo по умолчанию в Linux

Изменение расположения файлов журнала Sudo в Linux: руководство для Debian, Ubuntu, CentOS, Fedora и openSUSE

В этом кратком руководстве объясняется, как изменить файл журнала sudo по умолчанию в таких дистрибутивах Linux, как Debian, Ubuntu, CentOS, Fedora и openSUSE.

Введение

Почему нам следует изменить файл журнала sudo по умолчанию? Вы можете задаться вопросом. По умолчанию все инциденты sudo будут регистрироваться в файле /var/log/auth.log в системах на базе Debian, таких как Ubuntu. В системах на базе RPM, таких как CentOS и Fedora, действия sudo хранятся в файле /var/log/secure/. В openSUSE журналы sudo хранятся в файле /var/log/messages.

Однако они не предназначены для журналов sudo. Если вы посмотрите на эти файлы, вы заметите, что в них также хранятся другие виды журналов, такие как cron, ssh, systemd и т. д. Поэтому, если вы хотите настроить специальный файл для регистрации как успешных, так и неудачных попыток sudo (а также ошибок), выполните действия, приведенные ниже.

Изменить файл журнала Sudo по умолчанию в Linux

По умолчанию sudo регистрируется через syslog, но это можно изменить с помощью файла "/etc/sudoers". Сначала мы увидим, как это сделать в системах на базе Debian.

1. Как изменить файл журнала Sudo по умолчанию в Ubuntu

В Ubuntu действия sudo хранятся в файле /var/log/auth.log.

Чтобы изменить или настроить специальный файл журнала для sudo в Ubuntu 20.04, отредактируйте файл «/etc/sudoers» с помощью команды:

sudo visudo

Добавьте в конце следующую строку:

Defaults syslog=local1

Установить местоположение файла журнала Sudo в Debian, Ubuntu

Нажмите CTRL+X, а затем Y, чтобы сохранить файл и выйти из него.

Затем отредактируйте файл «/etc/rsyslog.d/50-default.conf»:

sudo nano /etc/rsyslog.d/50-default.conf

Добавьте следующую строку (строка номер 8), выделенную красным цветом, перед строкой «auth,authpriv.*».

[...]
local1.*                        /var/log/sudo.log
auth,authpriv.*                 /var/log/auth.log
[...]

Изменить расположение файла журнала Sudo в Debian, Ubuntu

Здесь /var/log/sudo.log — это файл, в котором будут храниться все журналы sudo. Сохраните и закройте файл (CTRL+X и Y).

Наконец, перезапустите службу rsyslog, чтобы изменения вступили в силу:

sudo systemctl restart rsyslog

С этого момента все попытки sudo будут регистрироваться в файле /var/log/sudo.log. Например, я собираюсь запустить следующую команду:

sudo apt update

Теперь позвольте мне проверить, записывается ли оно в файл /var/log/sudo.log:

cat /var/log/sudo.log

Пример вывода:

May 2 12:14:18 ostechnix sudo: sk : TTY=pts/0 ; PWD=/home/sk ; USER=root ; COMMAND=/usr/bin/apt update

Видите последнюю строку в приведенном выше выводе? Команда «apt update» регистрируется в файле /var/log/sudo.log.

2. Как изменить файл журнала Sudo по умолчанию в Debian

Отредактируйте файл «/etc/sudoers» в Debian с помощью команды:

sudo visudo

Добавьте в конце следующую строку:

Defaults syslog=local1

Сохраните и закройте файл.

Затем отредактируйте файл «/etc/rsyslog.conf»:

sudo nano /etc/rsyslog.conf

Добавьте следующую строку (строка номер 61), выделенную красным цветом, перед строкой «auth,authpriv.*;local1.none».

[...]
local1.*                        /var/log/sudo.log
auth,authpriv.*;local1.none     /var/log/auth.log
[...]

Сохраните и закройте файл, нажав CTRL+X, а затем Y.

Перезапустите службу rsyslog, чтобы изменения вступили в силу:

sudo systemctl restart rsyslog

С этого момента все попытки sudo будут регистрироваться в файле /var/log/sudo.log.

3. Как изменить файл журнала Sudo по умолчанию в CentOS, Fedora

Журналы sudo хранятся в файле «/var/log/secure» в системах на базе RPM, таких как CentOS и Fedora.

Чтобы настроить специальный файл журнала sudo в CentOS 8, отредактируйте файл «/etc/sudoers» с помощью команды:

sudo visudo

Эта команда откроет файл /etc/sudoers в редакторе Vi. Нажмите «i», чтобы войти в режим вставки, и добавьте в конце следующую строку:

[...]
Defaults syslog=local1

Нажмите ESC и введите :wq, чтобы сохранить и закрыть.

Затем отредактируйте файл «/etc/rsyslog.conf»:

sudo nano /etc/rsyslog.conf

Добавьте/измените следующие строки (номер строки 46 и 47):

[...]
*.info;mail.none;authpriv.none;cron.none;local1.none   /var/log/messages
local1.*                /var/log/sudo.log
[...]

Изменить расположение файла журнала Sudo в CentOS

Нажмите CTRL+X, а затем Y, чтобы сохранить и закрыть файл.

Перезапустите rsyslog, чтобы изменения вступили в силу.

sudo systemctl restart rsyslog

С этого момента все попытки sudo будут регистрироваться в файле /var/log/sudo.log.

sudo cat /var/log/sudo.log

Пример вывода:

May 3 17:13:26 centos8 sudo[20191]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl restart rsyslog
May 3 17:13:35 centos8 sudo[20202]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl status rsyslog
May 3 17:13:51 centos8 sudo[20206]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/yum update

Просмотр файлов журнала sudo в CentOS

4. Как изменить файл журнала Sudo по умолчанию в openSUSE

Журналы sudo хранятся в файле «/var/log/messages» в SUSE и openSUSE.

Чтобы настроить специальный файл журнала sudo в openSUSE, отредактируйте файл «/etc/sudoers» с помощью команды:

sudo visudo

Эта команда откроет файл /etc/sudoers в редакторе Vi. Нажмите «i», чтобы войти в режим вставки, и добавьте в конце следующую строку:

[...]
Defaults syslog=local1

Нажмите ESC и введите :wq, чтобы сохранить и закрыть.

Затем отредактируйте файл «/etc/rsyslog.conf»:

sudo nano /etc/rsyslog.conf

Добавьте/измените следующие строки (номер строки 168, 180):

Add the following line at line number 168:
*.*;mail.none;news.none;local1.none     -/var/log/messages

line 180: remove [local1]
local0.*                      -/var/log/localmessages

Add this line at the end:
local1.*                       -/var/log/sudo.log

Сохраните и закройте файл. Перезапустите rsyslog, чтобы изменения вступили в силу:

sudo systemctl restart rsyslog

Надеюсь это поможет.

Рекомендуется прочитать:

  • Как изменить время ожидания пароля Sudo в Linux
  • Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Linux
  • Как восстановить права пользователя Sudo
  • Как найти всех пользователей Sudo в вашей системе Linux
  • Как выполнить определенные команды без пароля Sudo в Linux

Статьи по данной тематике