1 votos

Problemas con el cambio de contraseña de los usuarios en el Terminal

Me gustaría cambiar entre el usuario por defecto en Terminal y el usuario 'postgres', creado cuando instalé PostgreSQL 9.2.

Si escribo su postgres Me pide una contraseña que no conozco y que no recuerdo haber puesto nunca. Pruebo la contraseña Root y no funciona.

Si escribo sudo su postgres Me pide mi contraseña de root, que introduzco, y funciona.

Pero ahora, si intento volver a cambiar al usuario por defecto utilizando sudo su user Me pide una contraseña, y la contraseña de root no funciona. Tampoco funciona la contraseña que uso para entrar en ese usuario en OSX.

No entiendo qué está pasando aquí - sólo he puesto 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?

2voto

Phill Puntos 126
  • Para pasar al usuario postgres , teclea en Terminal:

    sudo su - postgres

    Si se le pide una contraseña, escriba la suya.

    (El - en sudo su - cambia el entorno al del nuevo usuario, y probablemente es lo que quieres. Ver hombre su para más detalles).

  • Ahora, para volver a su usuario, simplemente escriba:

    exit

    para salir de la sesión actual de bash y volver a la sesión original de bash.

Tenga en cuenta que si escribe sudo su <user> como usuario postgres debe identificarse a sudo y escriba postgres 's contraseña, pero como usted dice, no tiene ninguna, por lo que no funcionará. Incluso puede darse el caso de que el usuario postgres es no se permite el uso de sudo en absoluto.

1voto

Creo que estás mezclando varios conceptos aquí, lo que lleva a cierta confusión.

  • sudo requiere la contraseña del usuario actual para la autorización. Así que si lo ejecutas como tú mismo, introduce tu propia contraseña. Si lo ejecuta como postgres (por ejemplo, después de haber cambiado a ese usuario), la contraseña del postgres usuario sería necesario. Como lo más probable es que esto no esté configurado (y postgres no está incluido en /etc/sudoers tampoco), postgres no podrá correr sudo
  • En la forma de usarlo, sudo crea un nuevo shell que se ejecuta con el nuevo usuario. Para volver al usuario anterior, basta con salir del shell ( Ctrl-D )
  • En lugar de utilizar sudo su <username> podría ser más fácil omitir el su y sólo utilizar 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 y acceder a diferentes usuarios en cada una de ellas. De esta manera no tienes que preocuparte de ir y venir todo el tiempo.


Desde sudo(8) :

Si el usuario que invoca es Root o si el usuario de destino es el mismo que el usuario invocador, no se requiere ninguna contraseña. De lo contrario, sudo requiere que los usuarios se autentiquen con una contraseña por defecto (NOTA: en la configuración por defecto esta es la contraseña del usuario, no la contraseña de root ). Una vez que un usuario ha sido autenticado, se actualiza una marca de tiempo y el usuario puede entonces utilizar sudo sin contraseña durante un corto período de tiempo (5 minutos a menos que se anule en sudoers)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X