Когда вы делитесь своим компьютером с другими людьми и вы предоставили им доступ к sudo, разумно следить за тем, как они его используют. К счастью, историю sudo можно легко просмотреть. Посмотрим, как это сделать.
Читайте также: Что такое Doas и как его установить
Журнал аутентификации
Многие службы Linux ведут журналы, которые помогают устранять неполадки. К счастью, среди прочего, он также хранит подробный список именно той информации, которую мы ищем в этой статье. В этом
Contents
Журнал аутентификации
о и когда какую команду ввел, используя sudo. Чтобы найти эту информацию, если вы используете дистрибутив на основе Debian или Ubuntu, введите в свой любимый терминал следующее:sudo nano /var/log/auth.log
В других дистрибутивах расположение может отличаться. Эта информация может находиться в «/var/log/secure» или «/var/log/audit/audit.log». Местоположение этого файла журнала можно найти по проверка файла sudoers . Его тоже можно найти в разных местах в зависимости от дистрибутива. Обычно вы найдете его в «/etc/sudoers». Откройте его в своем любимом текстовом редакторе и найдите запись в файле журнала. Его значение указывает на то, где находится файл, который мы ищем, поэтому вместо этого повторите приведенную выше команду, чтобы проверить свой.
Осмысление хаоса
Файл журнала будет содержать массу записей, которые, вероятно, не представляют интереса. Вы можете прокручивать его и прокручивать или использовать функцию поиска вашего текстового редактора, чтобы найти каждое использование sudo.
Однако лучше использовать grep
. Таким образом, вы можете фильтровать содержимое журнала на основе простого запроса. Чтобы найти в нем все записи sudo, используйте:
sudo grep sudo /var/log/auth.log
Не забудьте обновить путь к журналу, указав правильный для вашего дистрибутива.
Эта команда отобразит результаты прямо в вашем терминале.
Осмысление хаоса
иметь их в формате файла, добавьте перенаправление после команды:sudo grep sudo /var/log/auth.log > sudolist.txt
Проверив его, вы обнаружите ряд записей, содержащих дату, время, имя компьютера и использованную команду.
Читайте также: Как изменить раскладку клавиатуры в Linux
Обычный Bash
Если вы просто ищете все команды, вводимые в терминале, вы можете проверить файл «.bash_history», расположенный в домашней папке. Например, вы можете ввести в терминале следующее:
sudo nano /home/USERNAME/.bash_history
Это покажет вам все команды, которые вы (или другие пользователи) запускаете в терминале.
Журнал
При этом еще один способ посмотреть на то, что сделал sudo, — использовать systemd Journalctl. Таким образом, это программа системного журналирования, которая входит в состав каждого дистрибутива Linux, использующего системный .
К ним относятся не только Debian и Убунту , но и другие популярные дистрибутивы, такие как Арч Линукс и Fedora. Таким образом, Journalctl может оказаться полезной утилитой, если вы уже постоянно переключаетесь между дистрибутивами Linux на базе systemd.
Зная это, использовать Journalctl для просмотра журналов sudo невероятно просто. Сначала вам необходимо войти в систему либо под пользователем root, либо под учетной записью с правами суперпользователя.
Выполните следующую команду, чтобы просмотреть все журналы программы sudo:
sudo journalctl -e /usr/bin/sudo
Это, в свою очередь, заста
Обычный Bash
ctl просмотреть программу sudo, выполнить поиск всех записей журнала, а затем распечатать все журналы, в которых упоминается sudo. Отсюда журналctl передаст всю эту информацию на системный пейджер, где вы сможете легко просмотреть всю историю журналов, связанных с sudo.Здесь журналctl затем выделит все случаи, когда пользователь вызывал команду sudo. Как обсуждалось выше, это может быть полезно, если вы пытаетесь исправить
Журнал
ельскую систему и хотите знать, кто и когда запускал привилегированные команды.Читайте также: Как скопировать и вставить текст, файлы и папки в терминале Linux
Программы с графическим интерфейсом
Зная все это, можно также читать журналы sudo вашей системы через специальный интерфейс, который поставляется со средой вашего рабочего стола. Таким образом, вы уменьшите сложность и количество команд, которые вам необходимо выучить для мониторинга вашей системы.
Важно отметить, что эти программы всегда будут включены в базовую установку среды рабочего стола. Однако дистрибутивы Linux часто создают собственные сборки, которые не содержат этих небольших утилит. Поэтому вам необходимо сначала проверить, установлены ли эти инструменты в вашей системе.
Журнал GNOME
Утилита Журнал GNOME — это графический системный регистратор по умолчанию для дистрибутивов, использующих среду рабочего стола ГНОМ . К ним относятся Ubuntu 21.10, 22.04, а также Fedora 36.
Чтобы начать использовать программу, вам необходимо сначала открыть Меню приложения. Затем вы можете ввести «Журналы» для поиска утилиты журнала GNOME.
При открытии программа предложит несколько вкладок, на которых вы сможете проверить журнал определенного аспекта вашей системы. Чтобы проверить журналы sudo, вам нужно нажать «Безопасность».
Это, в свою очередь, распечатает всю последнюю информацию о безопасности вашего устройства. Сюда входят все процессы, запущенные с правами root, независимо от того, используется ли он sudo или нет. Отсюда вы можете нажать значок увеличительного стекла в правом верхнем углу окна, чтобы начать поиск по всем этим записям журнала.
При этом вы можете ввести слово «sudo», чтобы сообщить журналам GNOME, что вы хотите видеть только те команды и процессы, которые были запущены через sudo.
KSystemLog
KSystemLog — это утилита ведения журналов по умолчанию для таких дистрибутивов, как Kubuntu 21.10, 22.04 и Manjaro KDE, каждый из которых использует среду KDE Плазма для своего рабочего стола. Подобно журналу GNOME, это также полнофункциональная программа, которая может предоставить обширное представление о вашем компьютере.
При этом использоват
Программы с графическим интерфейсом
й системы невероятно просто. Сначала вам нужно открыть панель запуска приложений, щелкнув значок Plasma в левом нижнем углу экрана.Оттуда вы можете ввести «KSystemLog» в строке поиска программы запуска. Это, в свою очередь, выполнит поиск утилиты и запустит ее, как только вы нажмете Enter.
После этого KSystemLog немедленно отобразит журнал программ, которые в данный момент работают в системе. Отсюда вы можете ввести «sudo» на панели «Фильтр», чтобы просмотреть только все журналы, полученные из sudo.
Системный журнал MATE
Наконец, Системный журнал MATE — это программа ведения журналов с минимальным графическим интерфейсом, которая по умолчанию входит в состав дистрибутивов на основе MATE . В отличие от предыдущих средств ведения журнала с графическим интерфейсом, он предоставляет только простой файловый браузер для всех системных журналов, доступных на машине. Таким образом, системный журнал MATE может показаться сложным для правильного использования новичком.
Несмотря на это, использовать эту программу для просмотра журнала истории sudo относительно просто. Чтобы начать работу, вам необходимо сначала открыть меню приложения, нажав кнопку «Меню», расположенную в верхнем левом углу рабочего стола.
Оттуда вы можете сосредоточиться на строке поиска и ввести «Просмотр файлов журнала». Это заставит MATE найти программу системного журнала и запустить ее.
После этого программа системного журнала MATE выведет список всех текущих журналов, доступных в вашей системе. При этом последнее, что вам нужно сделать, чтобы просмотреть историю sudo, — это нажать «auth.log».
Как описано выше, это файл журнала, в котором регистрируются все команды, связанные с sudo, которые выполнялись в вашей системе. В моем случае это показало, что я недавно запустил обновление системы через sudo.
Читайте также: Руководство для начинающих по использованию Cron в Linux
Часто задаваемые вопросы
Можно ли отображать только последние записи журнала sudo из Journalctl?
Да! Из журнала Journalctl можно отображать только ограниченное количество журналов. Это может быть особенно полезно, если вы обслуживаете интенсивно используемую машину и хотите знать только несколько последних журналов, связанных с sudo. Вы можете запустить следующую команду в своем т
KSystemLog
ode>sudo journalctl --lines=10 -e /usr/bin/sudoЭто сообщит журналуctl, что вы хотите, чтобы он отображал только последние 10 записей, связанных с sudo, которые он зарегистрировал во время работы.
Также из журнала Journalctl можно отображать только журналы, относящиеся к конкретному времени. Эта команда сообщит журналу печатать только все журналы, связанные с sudo, которые были зафиксированы между вчера и сегодня:
sudo journalctl --since=yesterday --until=today -e /usr/bin/sudo
Я не использую Bash, можно ли посмотреть мою историю sudo?
Это во многом будет зависеть от оболочки, которую вы сейчас используете. Однако по большей части каждая системная оболочка должна иметь возможность создавать историю выполнения всех команд, которые вы запускали на своем компьютере.
Например, файл истории для систем на базе Debian часто обозначается как «.history». Таким образом, вы можете открыть этот файл вместо файла «.bash_history» по умолчанию.
KSystemLog спрашивает и отклоняет мой пароль, когда я его открываю. Моя копия сломана?
По умолчанию KSystemLog попытается открыть себя с повышенными привилегиями. Это, в свою очередь, позволяет не только отображать логи, но и управлять процессами, запущенными в данный момент в системе.
По этой причине KSystemLog всегда пытается запуститься от имени пользователя root, когда вы открываете его в первый раз. Однако для этого сначала необходимо знать пароль вашей учетной записи root.
Несмотря на это, KSystemLog по-прежнему можно использовать без предоставления каких-либо привилегий root. Для этого вы можете нажать кнопку «Игнорировать», когда KSystemLog запрашивает какие-либо повышенные привилегии.
Автор изображения: Unsplash