Posso personalizar o sudo "este incidente será relatado" mensagem?

20

É possível, no Linux ou em sistemas BSD, personalizar a mensagem sudo "este incidente será reportado"? Eu passei de man sudo e man sudoers em uma máquina Ubuntu 16.04, uma máquina FreeBSD 10.2 e uma máquina Fedora 23, e não encontrei nada útil.

    
por Jules 12.05.2016 / 05:52

2 respostas

31

De Manual do sudo abaixo, é a única mensagem que você pode configurar com o sudo conf

badpass_message="Sorry, try again."

No entanto, para responder à sua pergunta, você é mais que bem-vindo para compilar sua própria cópia do sudo.

Esta seria a mensagem que você está recebendo.

    
por 12.05.2016 / 06:48
14

De alguma forma, esta mensagem já é personalizável porque, como em muitas partes do GNU / Linux, sudo é internacionalizado e usa gettext Suporte a Idioma Nativo para procurar a maioria das strings para substituí-las por uma versão local em um idioma diferente.

Por exemplo, você pode ver o arquivo de idioma francês aqui que tem entradas:

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"

Então, para mudar a mensagem, você precisa especificar para qual idioma / localidade? e editar o arquivo NLS apropriado. No entanto, o usuário pode não estar usando uma localidade, portanto, isso não terá efeito.

Como alternativa, você pode usar um editor binário para substituir a sequência em /usr/libexec/sudo/sudoers.so , onde ocorre, por uma sequência de exatamente do mesmo tamanho e com o mesmo número de parâmetros %s . Como isso não corresponderá mais à gettext translation, ela será aplicada a todas as localidades. Por exemplo

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

Use cmp para garantir que você não tenha corrompido o arquivo.

    
por 12.05.2016 / 09:00

Tags