Existe alguma maneira de solicitar uma mensagem quando um comando em / usr / sbin / é executado como nonroot?

0

Na maioria das distribuições Linux que eu usei quando você digita, por exemplo, ifconfig como um usuário normal, você recebe uma mensagem dizendo que apenas o root pode executar tal comando.

No Debian, ele só diz que o comando não foi encontrado (porque está procurando em / usr / bin /).

Eu estou querendo saber se existe alguma maneira de solicitar uma mensagem, como "ifconfig deve ser executado como root" ou algo parecido.

    
por yzT 09.12.2012 / 17:54

2 respostas

2

Você pode fazer assim:

trap '
    if [[ $BASH_COMMAND =~ /sbin ]] && ((UID!=0)); then
        echo >&2 "${BASH_COMMAND##*/sbin/} must be run as root"
    fi
' DEBUG

Mas ifconfig também é acessível para os usuários, basta digitar /sbin/ifconfig .

Como Chris Down disse, eu nunca vi ifconfig emitir tal mensagem em sua capacidade padrão.

    
por 09.12.2012 / 18:27
0

In Debian, it only says command not found (because it's looking for it in /usr/bin/)

Isso significa que seus usuários não-root não têm /sbin em seu PATH. Execute /sbin/ifconfig explicitamente e veja o que ele diz quando você não é root.

Se a mensagem estiver ok, você só precisa adicionar /sbin ao seu PATH.

    
por 10.12.2012 / 00:50