¿Cuál es el significado de sudo sudo?

8

Estoy usando Cloud9 para el desarrollo de Rails y usa un entorno Ubuntu. En la documentación sobre el uso de la base de datos PostgreSQL, dice:

Conéctese al servicio:

$ sudo sudo -u postgres psql 

¿Cuál es el significado de escribir sudo dos veces?

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

Andy Singh
fuente
1
Posiblemente, el usuario puede ejecutar el sudocomando como root, pero no el psqlcomando como postgres.
Stéphane Chazelas
@WarrenYoung Al mirar el documento, parece intencional que el usuario pueda rootear sin luchar. El usuario original probablemente se considera una cuenta administrativa, por lo que probablemente se le diouser ALL=(ALL) NOPASSWD: ALL
Bratchley
Por supuesto, es probable que no se solicite la contraseña de root para una cuenta que tenga derechos ssh.
Bratchley
Abrí un problema (e hice un hash de la solicitud de extracción). A ver si lo arreglan.
muru
Y ha sido arreglado.
muru

Respuestas:

9

sudo -u postgres le permite suplantar al usuario de postgres cuando ejecuta el comando. Su usuario probablemente no tiene ese privilegio, pero el root sí.

Entonces, el primer sudo le otorga privilegios de root y el segundo sudo le permite (como root) sudo -u a postgres permitiendo que el comando se ejecute como usuario de postgres.

Jeremy Driscoll
fuente
+1: Esto bien podría explicar el segundo sudo.
Warren Young
0

Probablemente solo le han otorgado los derechos de sudo de la cuenta a la cuenta raíz, por lo que piensan que la necesitan para sudoque el usuario de postgres pueda acceder allí.

Teniendo en cuenta cuántas personas corrigen sus reglas, es posible que se ejecute sudo -lcomo usuario habitual para ver si le dieron acceso a todos los usuarios o lo encerraron en la raíz por algún motivo. Estoy dispuesto a ser el primero, en cuyo caso puedes dejar el primero sudo.

Bratchley
fuente