Na minha máquina pessoal, geralmente digito sudo
na frente de certos comandos para realizar tarefas administrativas. Eu esperava evitar fazer isso ao longo do dia, digitando su root
e fornecendo a mesma senha que normalmente faço sudo
. No entanto, as duas senhas não são as mesmas (não sei como fazer login su root
). A execução de um comando é sudo
diferente de efetuar login su root
e executar o mesmo comando?
Penso sudo
e su root
sou o mesmo, porque, quando digito sudo whoami
, recebo root
, em vez de exatamente whoami
onde obtenho meu nome de usuário.
sudo
, o sistema solicita sua senha para verificar sua identidade e depois verifica/etc/sudoers
se você tem permissão para executar o sudo. Quando você usasu
, o sistema exige que você insira a senha do usuário para o qual está mudando . (Eu sei que este é agora um muito velha questão, mas eu queria acrescentar um esclarecimento para o benefício de futuros espectadores.)Respostas:
Ao contrário do que o seu uso mais comum levaria a pensar,
su
esudo
não são voltadas apenas para o log in (ou executar ações) como root.su
permite que você mude sua identidade com a de outra pessoa. Por esse motivo, quando você digitasu
, o sistema precisa verificar se você possui as credenciais para o usuário de destino para o qual está tentando mudar.sudo
é um pouco diferente. O usosudo
permite executar determinados comandos (ou todos, dependendo da configuração) como outra pessoa. Sua própria identidade é usada para determinar quais tipos de comandossudo
serão executados para você sob a identidade de outra pessoa: se você é um usuário confiável (no sentido em que o administrador de sistemas confia em você), você terá mais liberdade do que, digamos, um estagiário. É por isso que vocêsudo
precisa verificar sua própria identidade e não a do usuário de destino.Em outras palavras, tentar
su
alguém que você não é é como tentar cobrar suas compras em um cartão de crédito roubado enquanto estiver usandosudo
é como vender o carro de um amigo por procuração legal.Quanto ao que você estava tentando fazer, apenas
sudo su root
, ou ainda mais simplesmente,sudo su
e digite sua senha de usuário comum. Isso equivaleria a substituir as credenciais do cartão de crédito de seu amigo pelas suas usando o proxy legal que eles lhe deram :). É claro que assume que asudo
configuração permite executarsu
com privilégios escalados.Além disso, os sistemas que vêm pré-configurados com
sudo
acesso geralmente têm a conta root desativada (sem senha root), você pode ativar isso usando opasswd
comando depois de se tornar rootsudo su
.fonte
sudo
)?sudo
é usado para escalar temporariamente as permissões de usuário para o nível raiz, enquanto quesu root
é usado para criar um novo shell com raiz como usuário;fonte
É configurável *, mas, por padrão, "sudo" solicita sua senha. Ele está apenas tentando ter certeza de que é você, não alguém usando o teclado enquanto você estava tomando café.
Por outro lado, "su root" solicita a senha do root.
* Se targetpw em / etc / sudoers for falso (padrão), "sudo" solicita sua senha. Se for verdade, "sudo" solicita a senha do root ou, se você especificou outro usuário com a opção "-u", a senha desse usuário.
fonte
Para o benefício de alguns recém-chegados nessa pesquisa, existe um método simples de entrar no root até você sair:
Manterá você interativo e manterá seu ambiente, mas agora como raiz.
fonte