GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu:come fare in modo che Pam_exec esegua lo script come utente corrente?

Ho bisogno di eseguire uno script, quando la sessione è aperta, come l'utente che sta aprendo la sessione.

Ho aggiunto in /etc/pam.d/common-session :

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

Ho anche provato ad attivare l'opzione seteuid di pam_exec

Lo script di base /usr/local/bin/test_pam_foo.sh :

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

Sfortunatamente, ricevo sempre come ID effettivo e ID reale.

Mi sono perso qualcosa?

In alternativa, conosco l'esistenza di pam_script, da non confondere con pam-script.

Quel pam_script viene eseguito per impostazione predefinita come utente corrente e ha l'opzione runas per forzare l'esecuzione come root. Ma vorrei privilegiare l'uso delle librerie pam che sono già incluse nella mia distribuzione (Ubuntu 12.04).

Risposta accettata:

Bene, puoi avere /usr/local/bin/test_pam_foo.sh

cambia l'utente poiché è nel PAM_USER variabile di ambiente.

Fai attenzione alla nota in pam_exec pagina man sull'utente che ha potenzialmente il controllo sull'ambiente (a seconda del servizio che lo utilizza (come su )). Quindi usare uno script probabilmente non è una buona idea (anche se correggi $PATH e altre variabili problematiche, ce ne saranno alcune su cui non puoi fare nulla, come SHELLOPTS o BASH_ENV per gli script bash).

La cosa migliore sarebbe usare un wrapper cambia l'utente prima di chiamare il tuo script.


Ubuntu
  1. Come consentire all'utente di utilizzare sudo in Ubuntu Linux

  2. Personalizza il terminale su Ubuntu 20.04:come farlo?

  3. Come eseguire Wireshark su Ubuntu 17.10?

  4. Come copiare il percorso della directory corrente in Ubuntu 18.04?

  5. Come eseguire uno script??

Come modificare il tema di Ubuntu

Come modificare l'indirizzo IP in Ubuntu

Come scrivere uno script di shell in Ubuntu

Come controllare i gruppi di utenti a cui appartiene un utente Ubuntu

Come eseguire Memtest in Ubuntu 22.04

Come creare ed eseguire uno script di shell in Ubuntu 22.04