Qual é o significado de sudo sudo?

8

Estou usando o Cloud9 para desenvolvimento Rails e ele usa um ambiente Ubuntu. Na documentação sobre o uso do banco de dados PostgreSQL, ele diz:

Conecte-se ao serviço:

$ sudo sudo -u postgres psql 

Qual é o significado de digitar sudo duas vezes?

https://docs.c9.io/setting_up_postgresql.html

Andy Singh
fonte
1
Possivelmente, o usuário pode executar o sudocomando como root, mas não o psqlcomando como postgres.
Stéphane Chazelas
@WarrenYoung Olhando para o documento, parece intencional que o usuário possa fazer o root sem lutar. O usuário original, provavelmente, é considerado uma conta administrativa e por isso foi provavelmente dadouser ALL=(ALL) NOPASSWD: ALL
Bratchley
Obviamente, não solicitar a senha root para uma conta com direitos ssh é provavelmente uma preocupação.
Bratchley
Abri um problema (e fiz um hash da solicitação de recebimento). Vamos ver se eles consertam isso.
muru
E foi corrigido.
muru

Respostas:

9

sudo -u postgres permite que você personifique o usuário do postgres ao executar o comando. Seu usuário provavelmente não tem esse privilégio, mas o root possui.

Portanto, o primeiro sudo fornece os privilégios de root e o segundo sudo permite que você (como root) sudo -u para postgres, permitindo que o comando seja executado como usuário do postgres.

Jeremy Driscoll
fonte
+1: Isso poderia explicar bem o segundo sudo.
Warren Young
0

Eles provavelmente só deram à sua conta direitos de sudo na conta root e, portanto, acham que precisam dela sudopara o usuário do postgres para chegar lá.

Considerando quantas pessoas corrigem suas regras, você pode executar sudo -lcomo usuário comum para ver se elas lhe deram acesso a todos os usuários ou se o bloquearam como root por algum motivo. Estou disposto a ser o primeiro caso em que você pode deixar o primeiro sudo.

Bratchley
fonte