Linux 또는 BSD 시스템에서 sudo
"이 이벤트가 보고됩니다" 메시지를 사용자 정의할 수 있습니까? man sudo
Ubuntu man sudoers
16.04 시스템, FreeBSD 10.2 시스템 및 Fedora 23 시스템을 검사했지만 유용한 것을 찾지 못했습니다.
답변1
답변2
sudo
이 메시지는 GNU/Linux의 많은 부분에서 이미 국제화되어 사용된다는 점에서 이미 사용자 정의가 가능합니다.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
파일이 손상되지 않았는지 확인하는 데 사용됩니다 .