GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu:¿cómo hacer que Pam_exec ejecute el script como el usuario actual?

Necesito ejecutar un script, cuando se abre la sesión, como el usuario que abre la sesión.

He agregado en /etc/pam.d/common-session:

session optional        pam_exec.so      log=/tmp/test_pam_foo.log /usr/local/bin/test_pam_foo.sh

También intenté activar la opción de pam_exec seteuid

El script básico /usr/local/bin/test_pam_foo.sh :

#!/bin/sh
id -u >> /tmp/test_pam_foo
id -ru >> /tmp/test_pam_foo

Desafortunadamente, recibo todo el tiempo como la identificación efectiva y la identificación real.

¿Me estoy perdiendo algo?

Como alternativa, conozco la existencia de pam_script, que no debe confundirse con pam-script.

Ese pam_script se ejecuta por defecto como el usuario actual y tiene la opción runas para obligar a que se ejecute como root. Pero me gustaría privilegiar el uso de pam libs que ya están empaquetadas en mi distribución (Ubuntu 12.04).

Respuesta aceptada:

Bueno, puedes tener /usr/local/bin/test_pam_foo.sh

cambiar el usuario ya que está en el PAM_USER variable de entorno.

Cuidado con la nota en pam_exec página de manual sobre el usuario que tiene control potencial sobre el entorno (según el servicio que lo use (como su) )). Entonces, usar un script probablemente no sea una buena idea allí (incluso si arregla $PATH y otras variables problemáticas, habrá algunas sobre las que no podrá hacer nada, como SHELLOPTS o BASH_ENV para scripts bash).

Lo mejor sería usar un contenedor que cambie al usuario antes de llamar a su secuencia de comandos.


Ubuntu
  1. Cómo permitir que el usuario use sudo en Ubuntu Linux

  2. Personalizar la Terminal en Ubuntu 20.04:¿cómo hacerlo?

  3. ¿Cómo ejecutar Wireshark en Ubuntu 17.10?

  4. ¿Cómo copiar la ruta del directorio actual en Ubuntu 18.04?

  5. ¿Cómo ejecutar un script?

Cómo cambiar el tema de Ubuntu

Cómo cambiar la dirección IP en Ubuntu

Cómo escribir un script de Shell en Ubuntu

Cómo comprobar los grupos de usuarios a los que pertenece un usuario de Ubuntu

Cómo ejecutar Memtest en Ubuntu 22.04

Cómo crear y ejecutar un script de shell en Ubuntu 22.04