Чи можу я налаштувати повідомлення "про цей інцидент"?


20

Чи можливо в Linux або на системах BSD налаштувати повідомлення sudo"про цей інцидент буде повідомлено"? Я перейшов man sudoі man sudoersна 16,04 машини Ubuntu, в FreeBSD 10.2 машині, і Fedora 23 машину, і я нічого корисного не знайшов.

Відповіді:


31

З Посібника по Sudoers нижче - єдине повідомлення, яким ви можете налаштувати конфіденційну версію sudo.

badpass_message="Sorry, try again."

Однак, щоб відповісти на ваше запитання, вам більше ніж приємно скласти свою власну копію судо.

Це було б повідомлення, яке ви отримуєте.


12
Ах, краса відкритого коду. Вам щось не подобається? Змініть самі!
фірфокс

4
"Зміни судо!" але я не знаю як! "судо зміни судо!" добре.
Мехрдад

14

У певному сенсі це повідомлення вже настроюється, оскільки, як і для багатьох частин GNU / Linux, sudoє інтернаціоналізованим та використовує gettext підтримку Native Language, щоб знайти більшість рядків, щоб замінити їх на локальну версію іншою мовою.

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

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для того, щоб не пошкодили файл.


Невже ми можемо зробити його різної довжини, перекомпілювавши судо?
Геррі

@gerrit так, найкращим рішенням було б відредагувати джерело та перекомпілювати програму.
meuh

3
Ви можете зробити повідомлення коротшим, доповнивши символами нуля, оскільки C використовує рядки з нульовим завершенням.
Нейт Елдредж

@NateEldredge Добрий момент.
meuh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.