Cómo cambiar (SU) a otra cuenta de usuario sin contraseña

Cómo cambiar (SU) a otra cuenta de usuario sin contraseña

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 usuario

Puede 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 , 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 Postgres 
Configurar 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 - Postgres 
Agregar 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 - Postgres 
Agregar 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 - Postgres 
Cambiar 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 sudo 
Lectura relacionada: 10 configuraciones útiles de sudoers para configurar 'sudo' en Linux