Intereting Posts
Помощь при назначении вывода grep переменной sort -u (unique) работает для мульти-ключей, но не для одного ключа где «файлы» ipcs и почему названы pipe (mkfifo), не перечисленные в ipcs Легкая операционная система VirtualBox для одиночного гостя флажок vim для добавления строки и сохранения Как объединить первые две строки CSV столбец за столбцом? После сопоставления Caps Lock с Escape с помощью xmodmap, как вернуть Caps Lock обратно в Caps Lock без изменения клавиши Escape? Измельчение внешнего жесткого диска Усечь третий столбец до тех пор, пока не будут указаны строки Используя bash `/ dev / udp`, как я могу узнать, открыт ли порт? Компьютер останавливается при попытке установить любой дистрибутив Linux? Существует ли стандартный способ настройки загружаемой политики iptables при запуске в Debian? postfix переписывать адресатов из определенной группы серверов Помогите мне найти динамики и наушники (название устройства PCM) почему Bash не будет добавлять мои переменные вместе?

Могу ли я настроить сообщение sudo «этот инцидент будет сообщен»?

Возможно ли в Linux или на BSD-системах настроить сообщение sudo «этот инцидент будет сообщен»? Я перешел к man sudo и man sudoers на машине Ubuntu 16.04, машине FreeBSD 10.2 и машине Fedora 23, и я не нашел ничего полезного.

Из руководства Sudoers, приведенного ниже, является единственным сообщением, которое вы можете настроить с помощью sudo conf.

 badpass_message="Sorry, try again." 

Однако, чтобы ответить на ваш вопрос, вы более чем можете скомпилировать свою собственную копию sudo.

Это будет сообщение, которое вы получаете.

В некотором смысле это сообщение уже настраивается, потому что, как и во многих частях GNU / Linux, sudo интернационализируется и использует поддержку родного языка gettext для поиска большинства строк, чтобы заменить их версией локали на другом языке.

Например, вы можете увидеть файл на французском языке, в котором есть записи:

 msgid "%s is not in the sudoers file. This incident will be reported.\n" msgstr "%s n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.\n" msgid "%s is not allowed to run sudo on %s. This incident will be reported.\n" msgstr "%s n'est pas autorisé à exécuter sudo sur %s. Cet événement sera signalé.\n" 

Итак, чтобы изменить сообщение, вам нужно указать, для какого языка / локали? и отредактируйте соответствующий файл NLS. Однако пользователь может не использовать локаль, поэтому это не будет иметь никакого эффекта.


Кроме того, вы можете использовать двоичный редактор, чтобы заменить строку в /usr/libexec/sudo/sudoers.so , где она встречается, строкой точно такого же размера и с таким же количеством параметров %s . Поскольку это больше не будет соответствовать преобразованию gettext , оно применимо ко всем локалям. Например

 sed < /usr/libexec/sudo/sudoers.so 's/This incident will be reported/This incident WILL BE REPORTED/' >/tmp/sudoers.so cmp -l /usr/libexec/sudo/sudoers.so /tmp/sudoers.so 

Используйте cmp чтобы убедиться, что вы не повредили файл.