Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

Planet Libre  -  Peck : Scripting avec pam_exec, notification de connexion

 -  Novembre 2010 - 

Niveau : Star Star Star Empty Empty
Résumé : pam_exec

Vous souvenez-vous de PAM (Pluggable Authentication Modules) ? En plus des nombreux modules déjà présentés, on trouve pam_exec qui permet d'exécuter une commande arbitraire. A partir de là on peut faire pas mal de choses, comme par exemple une notification à chaque session ouverte par un utilisateur (connexion ssh, su, sudo, etc.).


Notification de connexion

Nous allons créer une règle utilisant le module pam_exec pour exécuter un script de notification à l'ouverture d'une nouvelle session.


Script de notification

D'après le manuel de pam_exec, les informations PAM sont passées au script à l'aide des variables d'environnement : PAM_RHOST, PAM_RUSER, PAM_SERVICE, PAM_TTY, PAM_USER et PAM_TYPE. Concevons donc un script simple qui :

  • ne s'intéresse qu'au cas de l'ouverture d'une nouvelle session, soit le type PAM open_session
  • récupère les informations et les envoie par mail à l'administrateur

#!/bin/sh
[ "$PAM_TYPE" = "open_session" ] || exit 0
{
  echo "User: $PAM_USER"
  echo "Ruser: $PAM_RUSER"
  echo "Rhost: $PAM_RHOST"
  echo "Service: $PAM_SERVICE"
  echo "TTY: $PAM_TTY"
  echo "Date: `date`"
  echo "Server: `uname -a`"
} |mail -s "`hostname -s` $PAM_SERVICE login: $PAM_USER" root

On peut sauver ce script sous /usr/local/bin/pam-notify-login et n'oublions pas de le rendre exécutable :

# chmod a+x /usr/local/bin/pam-notify-login

Remarque : vous aurez besoin d'une version récente des modules PAM pour avoir la variable d'environnement PAM_TYPE envoyée par le module pam_exec. En effet celle-ci n'a été ajoutée qu'à partir de la révision 1.8. Concrètement Debian lenny ne l'a pas (libpam-modules 1.0) alors que squeeze l'a (libpam-modules 1.1).


Règle pam_exec

Après consultation de la documentation Linux-PAM, voici la règle à utiliser :

session    optional     pam_exec.so    /usr/local/bin/pam-notify-login

Il faut maintenant l'ajouter à tous les services interactifs (donc pas cron) qui utilisent PAM : SSH, login, su, sudo, etc. Sous Debian (et certainement d'autres distrib), on peut le faire grâce au fichier /etc/pam.d/common-session qu'incluent les services intéractifs. On ajoute donc cette règle à la fin du fichier.

Attention cependant si vous utilisez sudo sous Debian, un petit oubli fait que la règle de sudo n'inclut pas ce fichier. On doit donc rajouter la règle à la main dans /etc/pam.d/sudo en attendant mieux.

Une fois les règles ajoutées, essayez de vous connecter en SSH, de faire un su ou un sudo : vous devriez recevoir la notification par mail.

PS : Ceci est un billet invité, s'il vous a plu, vous pouvez aller lire la prose de StalkR en version originale sur son site.

Tags:pam, planet-libre, Scripting, Sécurité, Système

Gravatar de Peck
Original post of Peck.
Votez pour ce billet sur Planet Libre.

par Peck

Planet Libre

Le Planet sur Linux et les Logiciels Libres

Mathias : Enregistrement DNS de type CAA

 -  Mai 2021 - 

IntroductionDéfini en 2013 par la RFC6844, le CAA est un type d’enregistrement DNS qui permet aux propriétaires de sites de préciser quelles (...)


genma : Nextcloud - Suppression des fichiers fournis par défaut dans le dossier utilisateur

 -  Avril 2021 - 

Des fichiers par défautVous pouvez fournir à vos nouveaux utilisateurs un ensemble de fichiers par défaut qui apparaîtront dans leur Nextcloud (...)


genma : Nextcloud et l'accessibilité 1/ ?

 -  Mars 2021 - 

J'ai écrit quelques billets de blog sur le sujet de l'accessibilité au cours des années et ce sujet, même si j'en parle peu, me tient à coeur. C'est (...)


antistress : Mon nouveau téléphone : Samsung Galaxy S5 sous LineageOS

 -  Février 2021 - 

Tout d'abord il me faut indiquer quels usages je fais de mon téléphone.J'utilise surtout les fonctions SMS et MMS, appareil photo et voix – dans (...)


Carl Chenet : Le télétravail, c’est pas que pour la pandémie !

 -  Février 2021 - 

Ton chef rage en mode “c’était mieux avant”, tu le vois continuer à organiser des réunions-fleuve où personne ne répond. Le reste du temps (et pendant (...)