Por que usar 'sudo yum install pkgs' quando eu posso usar 'yum install pkgs'?

2

A pergunta acima também pode ser reformulada para, what is the use of the sudo command?

man páginas para sudo no bash shell tem a seguinte descrição. sudo, sudoedit - execute a command as another user.

Isso não faz sentido para mim. Não preciso ser o usuário root para instalar a partir do terminal? Como o uso de sudo antes do comando yum install ajuda?

    
por Thomas 23.07.2011 / 10:52

3 respostas

3

O comando sudo tem setuid bit set, o que significa que sempre é concedido privilégios para o usuário que possui o arquivo (é sempre root, a menos que você mesmo estrague algo). Portanto, mesmo se você não tiver privilégios de root, o sudo os obterá de qualquer maneira. Todos os programas com setuid são escritos de maneira especialmente cuidadosa para evitar vulnerabilidades.

sudo lê o arquivo sudoers para determinar se você tem permissão para executar o comando selecionado como root e se deve ser solicitada sua senha. Se você tem permissão para executar o comando e a senha está correta (se necessário), uma vez que o sudo tem privilégios de root, todos os seus filhos (yum e install scripts talvez) também ganham esses privilégios.

Era especialmente relevante anos atrás quando os mainframes eram usados por um grande número de pessoas e os usuários com acesso raiz desejavam permitir que alguns usuários confiáveis executassem alguns comandos usados com frequência e não muito perigosos. Atualmente, o acesso ao sudo é geralmente concedido para todos os comandos (pelo menos em desktops domésticos).

    
por 23.07.2011 / 11:13
7

Se você já está em um shell com privilégios de root, então está correto; não faz sentido usar sudo . Mas sudo permite que você execute um comando como root sem estar logado como root.

O comando original su (switch user) permite que você execute um programa como um usuário diferente. É preciso uma abordagem de tudo ou nada. Se você souber a senha desse usuário (ou você já é root), você pode fazer o que quiser. Se você não souber a senha, não poderá fazer nada.

O mais recente comando sudo é mais inteligente. Pode ser configurado para permitir apenas determinados comandos. Ele também pode ser configurado para solicitar a sua senha, em vez da senha do outro usuário (como su pede). (Na verdade, essa é a configuração normal de sudo ).

    
por 23.07.2011 / 11:22
3

Se você pode executar yum install [...] sem usar sudo , significa que você está executando como usuário root. Nesse caso, usar sudo é inútil.

O que o sudo permite que você faça é executar outras coisas com privilégios escalados das contas de usuário normais usando as senhas de usuário normais, não as de root.

Você deve considerar seriamente sempre usar seu sistema como usuário normal e usar sudo sempre que precisar executar um comando específico com mais privilégios.

    
por 23.07.2011 / 13:53

Tags