Cómo cambiar (SU) a otra cuenta de usuario sin contraseña
- 3733
- 972
- Sr. Eduardo Menchaca
En esta guía, mostraremos cómo cambiar a otra o una cuenta de usuario específica sin requerir una contraseña. Por ejemplo, tenemos una cuenta de usuario llamada post -put (el valor por defecto Postgresql Cuenta del sistema de superusadores), queremos a todos los usuarios (generalmente nuestro Postgresql administradores de base de datos y sistemas) en el grupo llamado post -put para cambiar a la post -put cuenta utilizando el SU
comando sin ingresar una contraseña.
Por defecto, solo el usuario root puede cambiar a otra cuenta de usuario sin ingresar una contraseña. Se solicitará a cualquier otro usuario que ingrese la contraseña de la cuenta de usuario a la que está cambiando (o si está utilizando el comando sudo, se les pedirá que ingrese su contraseña), si no proporcionan la contraseña correcta, obtienen un "La autenticación fallóError como se muestra en la siguiente captura de pantalla.
Error de falla de autenticación del usuarioPuede usar cualquiera de las dos soluciones que se proporcionan a continuación para resolver el problema anterior.
1. Uso del módulo de autenticación de PAM
Pam (Módulos de autenticación conectables) están en el núcleo de la autenticación de usuarios en los sistemas operativos modernos de Linux. Para permitir a los usuarios de un grupo específico cambiar a otra cuenta de usuario sin contraseña, podemos modificar la configuración PAM predeterminada para el SU comando en el /etc/pam.D/SU archivo.
# vim /etc /pam.d/su o $ sudo vim/etc/pam.D/SU
Agregue las siguientes configuraciones después "Auth suficiente pam_rootok.entonces"Como se muestra en la siguiente captura de pantalla.
auth [Succes = Ignore Default = 1] PAM_SUCCEDE_IF.entonces user = Postgres Auth suficiente PAM_SUCCEDE_IF.Así que use_uid user innoup Postgres
En la configuración anterior, la primera línea verifica si el usuario de destino es post -put, Si es así, el servicio verifica al usuario actual, de lo contrario, el predeterminado = 1
se omite la línea y se ejecutan los pasos de autenticación normales.
auth [Succes = Ignore Default = 1] PAM_SUCCEDE_IF.Entonces user = Postgres
La línea que sigue a las verificaciones si el usuario actual está en el grupo post -put, si Sí
, El proceso de autenticación se considera exitoso y devuelve suficiente como resultado. De lo contrario, se ejecutan los pasos de autenticación normales.
Auth suficiente PAM_SUCCEDE_IF.Así que use_uid user innoup PostgresConfigurar PAM para permitir ejecutar el comando SU sin contraseña
Guarde el archivo y cierre.
A continuación, agregue el usuario (por ejemplo aaronk) que quieres SU
a la cuenta post -put sin una contraseña al grupo post -put Usando el comando usermod.
$ sudo usermod -ag postgres aaronk
Ahora intenta SU
hacia post -put cuenta como usuario aaronk, No se le debe solicitar una contraseña como se muestra en la siguiente captura de pantalla:
$ SU - PostgresAgregar usuario al grupo
2. Uso del archivo de sudoers
Tú también puedes SU
a otro usuario sin requerir una contraseña haciendo algunos cambios en el archivo de sudoers. En este caso, el usuario (por ejemplo aaronk) quién cambiará a otra cuenta de usuario (por ejemplo post -put) debe estar en el archivo de sudoers o en el grupo sudo para poder invocar el comando sudo.
$ sudo visudo
Luego agregue la siguiente configuración debajo de la línea "%Sudo all = (todos: todos) todos"
Como se muestra en la siguiente captura de pantalla.
aaronk all = nopasswd: /bin /su - PostgresAgregar usuario al archivo de sudoers
Guarde y cierre el archivo.
Ahora intenta SU
a la cuenta post -put Como el usuario aaronk, El shell no debe pedirle que ingrese una contraseña:
$ sudo Su - PostgresCambiar a otro usuario sin contraseña
Eso es todo por ahora! Para obtener más información, consulte la página de entrada del manual de PAM (hombre Pam.confusión) y el de comando sudo también (hombre sudo).
$ hombre Pam.conf $ hombre sudoLectura relacionada: 10 configuraciones útiles de sudoers para configurar 'sudo' en Linux
- « Configuración de inicio de sesión SSH sin contraseña para múltiples servidores remotos usando script
- Cómo instalar PostgreSQL y Pgadmin en RHEL 8 »