Aviso de Comando de Raiz do Terminal

0

É possível escrever um script (ou alterar algum arquivo) para avisar ao usuário que ele está usando um comando normalmente reservado para o root? E se sim, como?

Atualmente, sou o administrador da minha máquina, mas ainda gostaria de receber um aviso que me lembra que estou usando um comando raiz.

    
por Shaun Gillies 04.03.2014 / 06:23

3 respostas

3

O que você quer dizer com "um comando normalmente reservado para o root"?

Geralmente, todos podem executar cada comando. No entanto, alguns comandos precisam de privilégios disponíveis apenas para o root. Se você não for root, o comando geralmente lhe dirá e se recusará a fazer o que você pede.

Apenas trabalhe normalmente como usuário normal e use algo como sudo para usar explicitamente o poder do root.

Alguns sistemas distinguem o comando em "comandos normais" e "comandos do sistema" e os colocam em /bin vs. /sbin ou /usr/bin vs. /usr/sbin . Geralmente, os comandos em sbin costumam ser mais usados pelo root.

O diretório Debian dos sbin é o único com $PATH da raiz. No Archlinux, eles são simplesmente links simbólicos para o diretório que contém todos os binários.

    
por 04.03.2014 / 07:30
1

Ser root o tempo todo é a pior ideia de todas. Mesmo se você é um administrador. Seja um usuário comum e mude para root quando você atingir um comando que reclama sobre privilégios de root. Use sudo ou simplesmente% oldsu. Caso contrário, você, mais cedo ou mais tarde, fará algo irreversível. Mesmo se você for cuidadoso, isso acontece às vezes.

Eu não acho que haja uma maneira limpa de fazer isso de outra maneira. Depende strongmente do que o programa está fazendo, não é o binário que não pode ser executado (exceto as coisas em sbin ), tentativas de mudanças que são interrompidas se você não puder fazer isso. Por exemplo: o gerenciador de pacotes ( pacman / apt , ...) pode permitir que qualquer pessoa procure pacotes e consulte pacotes instalados. É quando você quer instalar algo (que escreve em /usr/bin , /lib/ e assim por diante), que você recebe um erro. Algumas outras ferramentas também verificam explicitamente quem você é e reclamam antes de tentar fazer qualquer coisa. Um editor de texto, por exemplo, falhará ao escrever em /etc/fstab se você não for root, mas por si só não é um comando "root". E finalmente, você tem aqueles engraçados "pegajosos" comandos que fingem que você é outra pessoa quando eles correm (ele é executado como o dono do binário, geralmente root - mount faz isso).

    
por 04.03.2014 / 09:19
0

Você pode definir o prompt da sua raiz de forma diferente

Por exemplo, torne-se root, edite (ou crie) /root/.bashrc e adicione:

export PS1="\[3[0;31m\]\u\[3[0m\]@\h:\w #"

explicação parte por parte:

\[3[0;31m\] ansi code for red color to distinguish root 
\u             user name
\[3[0m\]    ansi code to restore normal console color
@              typical separator between user and host
\h             current hostname 
:              separator between host and path
\w             current path
#              a final symbol other than the usual '$'

Com isso você veria:

root@my_host:/foo/bar #

Com 'root' impresso na cor vermelha, em vez do usual

your_name@my_host:/foo/bar $ 

Se você quiser saber mais, leia a seção PROMPTING nas páginas man bash

    
por 04.03.2014 / 23:18

Tags