GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Comment faire exécuter le script par Pam_exec en tant qu'utilisateur actuel ?

Je dois exécuter un script, lorsque la session est ouverte, en tant qu'utilisateur qui ouvre la session.

J'ai ajouté dans /etc/pam.d/common-session :

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

J'ai également essayé d'activer l'option seteuid de pam_exec

Le script de base /usr/local/bin/test_pam_foo.sh :

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

Malheureusement, je reçois tout le temps comme identifiant effectif et identifiant réel.

Ai-je raté quelque chose ?

Comme alternative, je connais l'existence de pam_script, à ne pas confondre avec pam-script.

Ce pam_script s'exécute par défaut en tant qu'utilisateur actuel et a l'option runas pour forcer à être exécuté en tant que root. Mais j'aimerais privilégier l'utilisation des bibliothèques pam qui sont déjà empaquetées dans ma distribution (Ubuntu 12.04).

Réponse acceptée :

Eh bien, vous pouvez avoir /usr/local/bin/test_pam_foo.sh

changer l'utilisateur puisqu'il est dans le PAM_USER variable d'environnement.

Attention à la note dans pam_exec page de manuel sur l'utilisateur ayant potentiellement le contrôle sur l'environnement (selon le service qui l'utilise (comme su )). Donc, utiliser un script n'est probablement pas une bonne idée (même si vous corrigez $PATH et d'autres variables problématiques, il y en aura certaines auxquelles vous ne pourrez rien faire, comme SHELLOPTS ou BASH_ENV pour les scripts bash).

Le mieux serait d'utiliser un wrapper pour changer l'utilisateur avant d'appeler votre script.


Ubuntu
  1. Comment autoriser l'utilisateur à utiliser sudo dans Ubuntu Linux

  2. Personnaliser le Terminal sur Ubuntu 20.04 - comment faire ?

  3. Comment exécuter Wireshark sur Ubuntu 17.10 ?

  4. Comment copier le chemin du répertoire actuel dans Ubuntu 18.04 ?

  5. Comment exécuter un script ? ?

Comment changer le thème Ubuntu

Comment changer l'adresse IP dans Ubuntu

Comment écrire un script shell dans Ubuntu

Comment vérifier le ou les groupes d'utilisateurs auxquels appartient un utilisateur Ubuntu

Comment exécuter Memtest dans Ubuntu 22.04

Comment créer et exécuter un script shell dans Ubuntu 22.04