Отключить sudo -s и sudo -i

Это означает, что CONFIG_AUDITне установлен в вашем ядре, и это задача, которую вы не сможете выполнить, не изменив ядро ​​или, по крайней мере, не отредактировав некоторые параметры загрузки.

Вам нужно:

  • Загрузите ядро ​​с включенным аудитом у поставщика дистрибутива или скомпилируйте ядро ​​с включенным CONFIG_AUDIT, если ваш дистрибутив не предоставляет такое ядро ​​
  • Если ваше ядро ​​скомпилировано с CONFIG_AUDIT, включите (см. ниже )добавьте параметр ядраaudit=1-См. GRUB Quiet Splash . Это файл, который вам нужно отредактировать.
    • Обратите внимание, что это всего лишь пример. Если вы используете другой загрузчик, отличный от GRUB, вам нужно будет изучить его документы, как добавить параметры ядра в запись ядра по умолчанию или во все из них. Например,systemd-bootимеет параметр options=для выполнения этой задачи и включения ее в запись.

Как проверить, включена ли эта функция в вашем текущем ядре:

В дистрибутивах на основе Red Hat и Debian обычно внутри /bootесть файл конфигурации с именем configuname -r(выпуском ядра )доп. Пример:

[root@host ~]# grep CONFIG_AUDIT /boot/config-`uname -r`
CONFIG_AUDIT_ARCH=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y

В дистрибутивах, скомпилированных с опцией CONFIG_IKCONFIG, вы можете получить сжатую версию текущего конфигурационного файла внутри вашей структуры виртуальных каталогов /proc, загрузив модуль ядра configs. Пример:

[root@host ~]# modprobe configs ; gunzip -dc /proc/config.gz | grep AUDIT
# CONFIG_AUDIT is not set
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set

0
04.07.2020, 21:13
1 ответ

Дружеское напоминание об избавлении от вредных sudoпривычек

Итак, если я правильно понимаю, вам нужно «всего лишь» дружеское напоминание, чтобы избавиться от вредных привычек. Другими словами, все в порядке с простым инструментом, который можно легко удалить или обойти.

В этом случае простой шеллскрипт в каталоге в PATH перед реальным sudoдолжен работать.Я предлагаю вам

  • дать ему имяsudo
  • положить в каталог/usr/local/bin
  • дать права на выполнение

Это означает, что когда вы или ваши коллеги введете sudo something, система найдет

/usr/local/bin/sudo  # the shellscript

до

/usr/bin/sudo        # the real sudo program

Шеллскрипт:

#!/bin/bash

if [ $# -eq 1 ] && (  [ "$1" == "-s" ] || [ "$1" == "-i" ] || [ "$1" == "bash" ] )
then
 echo "Please do not use 'sudo $1'"
 exit
else
 /usr/bin/sudo "$@"
fi

Пожалуйста, скажите мне, если вы хотите что-то, что сложнее удалить или обойти . В таком случае мне нечего предложить, и я удалю этот ответ.

2
18.03.2021, 23:22

Теги

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