Me gustaría cambiar entre el usuario predeterminado en Terminal y el usuario 'postgres', creado cuando instalé PostgreSQL 9.2.
Si escribo su postgres
, se me solicita una contraseña que no conozco y que no recuerdo haber configurado nunca. Probé con la contraseña de root y no funciona.
Si escribo sudo su postgres
, se me solicita mi contraseña raíz, la ingreso y funciona.
Pero ahora, si trato de volver al usuario predeterminado usando sudo su user
, se me solicita una contraseña y la contraseña raíz no funciona. Tampoco la contraseña que uso para iniciar sesión en ese usuario en OSX.
No entiendo qué está pasando aquí: solo he establecido una contraseña, pero el único contexto en el que parece funcionar es cuando se cambia del usuario normal a 'postgres'. ¿Qué está pasando y cómo puedo solucionarlo?
Para cambiar a usuario postgres
, escriba en Terminal:
sudo su - postgres
Si se le solicita una contraseña, escriba la suya.
(El -
in sudo su -
cambia el entorno al del nuevo usuario, y probablemente sea lo que desea. Consulte man su para obtener más detalles).
Ahora, para volver a su usuario, simplemente escriba:
exit
para salir de la sesión de bash actual y volver a su sesión de bash original.
Tenga en cuenta que si escribe sudo su <user>
como usuario postgres
, debe identificarse sudo
y escribir postgres
la contraseña, pero como dice, no tiene ninguna, por lo que no funcionará. Incluso puede darse el caso de que al usuario nopostgres
se le permita usar nada.sudo
Creo que estás mezclando varios conceptos aquí, lo que genera cierta confusión.
sudo
requiere la contraseña del usuario actual para la autorización. Entonces, si lo ejecuta como usted mismo, ingrese su propia contraseña. Si lo ejecuta como (por ejemplo, después de haber cambiado a ese usuario), se requerirá postgres
la contraseña del usuario. postgres
Como es muy probable que esto no esté configurado (y postgres
no esté incluido en /etc/sudoers
ninguno de los dos), postgres
no podrá ejecutarsesudo
sudo
crea un nuevo shell que se ejecuta con el nuevo usuario. Para volver al usuario anterior, simplemente salga del shell ( Ctrl-D)sudo su <username>
, podría ser más fácil omitir la su
parte y simplemente usar sudo -su <username>
(o simplemente sudo -s
si quieres convertirte en root
)En la práctica, me resultó mucho más fácil abrir varias pestañas en Terminal e iniciar sesión en diferentes usuarios en cada pestaña. De esta manera, no tiene que preocuparse por cambiar de un lado a otro todo el tiempo.
de sudo(8)
:
Si el usuario que invoca es root o si el usuario de destino es el mismo que el usuario que invoca, no se requiere contraseña. De lo contrario, sudo requiere que los usuarios se autentiquen con una contraseña predeterminada (NOTA: en la configuración predeterminada, esta es la contraseña del usuario, no la contraseña raíz ). Una vez que un usuario ha sido autenticado, se actualiza una marca de tiempo y el usuario puede usar sudo sin una contraseña por un período corto de tiempo (5 minutos a menos que se anule en sudoers)
sudo
La configuración predeterminada (al menos en algunas variantes de Linux) requiere que el usuario escriba la contraseña de root . Por ejemplo, desde /etc/sudoers
SUSE Linux Enterprise Server:In the default (unconfigured) configuration, sudo asks for the root password.
I'm prompted for my root password
pensé que se refería a la contraseña para el usuario root.
sin ladera
root
usuario parasudo su postgres
? En caso afirmativo, ¿cómo configuró esto en primer lugar?