Как изменить файл журнала 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