Утилита dmesg
предоставляет информацию о ядре и системе, которая может помочь в устранении неполадок в ОС и ее мониторинге. Однако по умолчанию любой пользователь, включая непривилегированных, может получить доступ к выводу утилиты dmesg
. Желательно ограничить этот доступ, чтобы предотвратить получение конфиденциальной информации неавторизованными пользователями.
В этой статье мы рассмотрим способ предотвращения просмотра вывода команды dmesg
непривилегированными пользователями в системах семейства GNU / Linux.
Содержание:
- Что такое dmesg
- Как ограничить просмотр вывода dmesg непривилегированным пользователям
- Как разрешить просмотр вывода dmesg непривилегированным пользователям
- Дополнительные возможности dmesg
- Выводы
Что такое dmesg
Инструмент dmesg
(от англ. Diagnostic Message) используется для печати и просмотра сообщений кольцевого буфера ядра. Утилита показывает сообщения ядра во время загрузки и выполнения команд терминала, включая информацию об оборудовании, драйверах и системных событиях. Инструмент помогает администраторам и пользователям понять состояние / активность ядра и связанных с ним компонентов. Вывод dmesg
может дать полезные сведения для:
- устранения проблем с оборудованием или программным обеспечением;
- диагностики системных ошибок;
- мониторинга поведения системы.
Чтобы просмотреть результат выполнения команды, введите в терминале:
Или:
Как ограничить просмотр вывода dmesg непривилегированным пользователям
Чтобы предотвратить просмотр информации о ядре непривилегированным пользователям, нужно изменить значение параметра ядра kernel.dmesg_restrict
. По умолчанию данное значение равно 0 (нулю), следовательно, все пользователи, включая непривилегированных, могут получать доступ и просматривать сообщения кольцевого буфера ядра с помощью команды dmesg
. Однако, когда параметр имеет значение 1 (один), только привилегированные пользователи, обычно имеющие доступ root
или sudo
, могут просмотреть кольцевой буфер ядра. Поэтому присвоим kernel.dmesg_restrict
значение 1:
Разберем подробнее эту команду:
sysctl
— утилита для изменения параметров ядра;-w
— опция, используемая для установки значения параметра ядра;kernel.dmesg_restrict
— изменяемый параметр ядра, контролирующий ограничения доступа к буферу сообщений ядра.
Чтобы убедиться, что Вы установили нужное значение, введите команду:
Далее введите этот параметр в файл /etc/sysctlc.onf
для сохранения изменений. Это можно сделать с помощью команды tee
:
Если Вы теперь попробуете запустить команду dmesg
без привилегий суперпользователя, система выдаст ошибку:
Читайте также: Как просмотреть параметры ядра Linux для текущей загруженной системы.
Как разрешить просмотр вывода dmesg непривилегированным пользователям
Чтобы вернуть возможность непривилегированным пользователям просматривать информацию о ядре с помощью утилиты dmesg
, нужно установить значение 0 параметру kernel.dmesg_restrict
. Сделаем это с помощью следующих команд:
И если сейчас попробовать запустить dmesg
без привилегий суперпользователя, утилита отобразит результат в командной строке:
Дополнительные возможности dmesg
Со временем в буфере ядра может накапливаться большое количество данных. Его периодическая очистка помогает освободить системные ресурсы и обеспечить оптимальную производительность. Чтобы очистить буфер ядра, используйте опцию --clear
с командой dmesg
:
Если Вам нужно очистить буфер сразу же после его вывода на экран, воспользуйтесь опцией --read-clear
:
Чтобы просматривать сообщения от утилиты dmesg
в режиме онлайн, введите опцию --follow
:
Чтобы более детально ознакомиться с возможностями инструмента dmesg
, перейдите на ее справочную страницу или введите команду с опцией -h
:
Выводы
Предотвращение доступа непривилегированных пользователей к выводу команды dmesg
является важной мерой безопасности. Применение этого ограничения рекомендуется для обеспечения целостности и конфиденциальности журналов ядра, а также снижения потенциальных рисков. Оно позволит защитить важную системную информацию и повышает общую защищенность операционной системы Linux.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.