Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/11/2022, à 15:52

shayan

Script PAM ouverture session / formatage disque

Bonjour à tous !


Je viens vers vous pour une aide pour un projet perso

En quelques mots :

Lors de l'ouverture de la session Ubuntu je souhaiterais qu'un script s'active lorsque qu'un utilisateur rentre un mauvais mot de passe

Le script devra s'exécuter par exemple au bout du 3e essai et si le 3e essai est erroné, une commande de formatage de partition ou disque complet est exécuté avec un reboot

J'ai vu quelques scripts avec PAM mais rien de concret

Une petite aide serais la bienvenue

Merci par avance pour votre aide et bonne journée !

Hors ligne

#2 Le 23/11/2022, à 16:13

matrix-bx

Re : Script PAM ouverture session / formatage disque

Bonjour,
Si la partition n'est pas chiffrée, il suffit de redémarrer sur un support externe ou en mode rescue pour accéder aux données.
Si elle est chiffrée, nulle nécessité de la formater.
L'approche envisagée ne me semble pas adaptée, ou je n'en comprends pas suffisamment bien l'objectif.


Utilisations des balises de mises en formes.

Hors ligne

#3 Le 23/11/2022, à 17:58

shayan

Re : Script PAM ouverture session / formatage disque

Le projet actuel est que je suis en train de créer une ISO live USB à base d'ubuntu pour un p'tit projet perso

Le but est en gros, que si une personne souhaite se connecter à ma clé usb et tape le mauvais login/password par exemple 3x de suite , cela active un script qui formate la clé

Dernière modification par shayan (Le 23/11/2022, à 17:59)

Hors ligne

#4 Le 24/11/2022, à 07:16

Compte supprimé

Re : Script PAM ouverture session / formatage disque

Bonjour,
Suite à la lecture de https://askubuntu.com/questions/611580/ … -this-user ,
je ferai un truc du genre:

compteur=1

while [ $compteur -le 3 ];do
    IFS= read -rsp "Entre ton mdp" PASSWD
    sudo -k
    if sudo -lS &> /dev/null <<EOF
$PASSWD
EOF
    then
        echo -e "\nCorrect password."
        sleep 2
        exit
    else
        echo -e "\nWrong password."
    fi
    echo 'Essai n:' $compteur
    ((compteur++))
done
echo "Bandit ! Voyou ! Voleur ! Chenapan !"

Si ça peux t'inspirer ...

#5 Le 24/11/2022, à 07:32

matrix-bx

Re : Script PAM ouverture session / formatage disque

shayan a écrit :

Le projet actuel est que je suis en train de créer une ISO live USB à base d'ubuntu pour un p'tit projet perso
Le but est en gros, que si une personne souhaite se connecter à ma clé usb et tape le mauvais login/password par exemple 3x de suite , cela active un script qui formate la clé

Bonjour,
ceci ne change donc rien à la problématique, si la clef n'est pas au moins en partie chiffrée, il est possible et plus simple d'accéder aux données qui s'y trouvent en redémarrant ou en la branchant sur un autre système.

Autrement, regarder éventuellement du côté des logs, sur ma machine en 22.04 (Mate) une tentative en échec de déverrouillage de la session se traduit dans /var/log/auth.log par

Nov 24 07:24:28 hostname mate-screensaver-dialog: pam_unix(mate-screensaver:auth): authentication failure; logname= uid=1000 euid=1000 tty=:0 ruser= rhost=  user=matrix-bx

Dernière modification par matrix-bx (Le 24/11/2022, à 07:33)


Utilisations des balises de mises en formes.

Hors ligne

#6 Le 24/11/2022, à 13:34

NicoApi73

Re : Script PAM ouverture session / formatage disque

Bonjour,

Si c'est pour empêcher un inconnu d'accéder à des données personnelles, un formatage du support ne protégera pas les données qui ont été dessus. Il y a quasiment toujours un moyen de les récupérer.

Dernière modification par NicoApi73 (Le 24/11/2022, à 13:36)

Hors ligne

#7 Le 24/11/2022, à 13:54

bruno

Re : Script PAM ouverture session / formatage disque

Bonjour,

Je ne comprends vraiment pas l'interêt de la chose. Le seul moyen de protéger les données utilisateur (si c'est l'objectif) est de les chiffrer.
Si ce n'est pas le cas quiconque aura accès à la clé USB pourra lire son contenu. Et comme indiqué en #6 un formatage ne supprime pas les données.

Hors ligne

#8 Le 03/12/2022, à 15:55

LeoMajor

Re : Script PAM ouverture session / formatage disque

salut,

PAM n'est pas vraiment une sinécure.

anciennement, ...
1/ vérifier le service lié à PAM et à la session courante

 active_session=$(loginctl --no-pager --no-legend list-sessions | awk  -v user="$USER" '$3==user {cmd="loginctl -p State -p Type show-session "$1; \
while (cmd|getline tmp)if(tmp~/active|x11/){sess[$1]++}; close(cmd)}; END {for (s in sess)if(sess[s]==2)print s}')  #adapter pour wayland
loginctl -p Service -p State show-session "$active_session"
-> retourne par exemple,   Service=gdm-password  

2/ /etc/pam.d/untel_service/application  c.a.d  /etc/pam.d/gdm-password dans l'exemple
cat /etc/pam.d/gdm-password

#%PAM-1.0
auth    requisite       pam_nologin.so
auth	required	pam_succeed_if.so user != root quiet_success
###@include common-auth
auth    optional        pam_gnome_keyring.so
@include common-account

#ajout
auth    [success=4 default=ignore]      pam_unix.so nullok_secure
auth    optional                        pam_exec.so expose_authtok seteuid log=/tmp/pam_deny.log /usr/local/bin/pam_deny
auth	optional			pam_debug.so auth=perm_denied
auth    requisite                       pam_deny.so
# success.
auth    required                        pam_permit.so
auth    optional                        pam_exec.so expose_authtok seteuid log=/tmp/pam_permit.log /usr/local/bin/pam_permit
auth	optional 			pam_debug.so auth=success

###fin

session required        pam_loginuid.so
session optional        pam_keyinit.so force revoke
session required        pam_limits.so
session required        pam_env.so readenv=1
session required        pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale

@include common-session
session optional        pam_gnome_keyring.so auto_start
@include common-password

3/ man pam_exec

4/  /usr/local/bin/pam_deny
5/  /usr/local/bin/pam_permit

#!/bin/bash
read password
....
echo -e "$(date):PAM_PERMIT,$PAM_SERVICE,$PAM_TYPE,$PAM_USER,$password,extension,...\n"  >> /tmp/chocolat.log

6/ pour mettre à jour PAM

sudo pam-auth-update

ou attendre ~15/20 minutes (durée de mémorisation du mot de passe sudo); = update automatique

7/ attention, il faut savoir récupérer la console root  au reboot  en cas de problème, ce qui est très fréquent avec les modifs sur PAM.
je conseille ssh ( bindé sur 127.0.0.1) ou xscreensaver (mot de passe à la sortie de l'écran de veille)  pour se faire la main sur PAM.

Hors ligne