Exibe uma mensagem enquanto solicita a senha do sudo

4

Eu já vi um usuário do Ubuntu usar um comando sudo em um terminal. Antes de ser solicitado por uma senha, ele recebeu a seguinte mensagem:

user1@linuxbox:~$ sudo apt-get update
Please do not run this command if you have not been granted sudo rights.
[sudo] password for user1:

Gostaria de exibir uma mensagem semelhante no meu sistema quando um usuário executa um comando sudo. O que devo editar / alterar para exibir uma mensagem semelhante quando um usuário executa um comando sudo no terminal?

    
por John Smith 10.03.2017 / 10:52

2 respostas

10

Veja se o seu sudo suporta lecture_file option

man sudoers | grep lecture_file

Isso é o que o homem sudoers diz no meu caso:

  

lecture_file Caminho para um arquivo contendo uma palestra sudo alternativa que será usada no lugar da palestra padrão se o arquivo nomeado existir. Por padrão, o sudo usa uma palestra integrada.

Portanto, para alterar o texto, adicione-o a um arquivo, por exemplo, /etc/sudoers.lecture e aponte-o para /etc/sudoers :

Defaults        lecture_file = /etc/sudoers.lecture

Para exibir a palestra sobre todas as invocações do sudo, adicione o seguinte a /etc/sudoers :

Defaults        lecture = always
    
por storm 10.03.2017 / 11:19
2

Escreva um "script wrapper" em torno do comando sudo .

Basicamente, você substitui o comando padrão sudo por um script que contenha uma função chamada sudo() . Esta função primeiro ecoa sua mensagem personalizada e, em seguida, chama o comando sudo padrão /usr/bin/sudo .

Este script seria algo como:

#!/bin/bash
sudo(){
        echo "This is a custom message."
        /usr/bin/sudo "$@"
}

Você precisa verificar se o script está no caminho do usuário. Aqui (em "Colocar tudo junto") é um boa explicação de como fazer isso. Google "wrapper script" para outros exemplos.

    
por Jos 10.03.2017 / 11:03