#1 Le 23/11/2022, à 16: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, à 17: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, à 18: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, à 18:59)
Hors ligne
#4 Le 24/11/2022, à 08: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, à 08:32
- matrix-bx
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é
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, à 08:33)
Utilisations des balises de mises en formes.
Hors ligne
#6 Le 24/11/2022, à 14: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, à 14:36)
Hors ligne
#7 Le 24/11/2022, à 14: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.
#8 Le 03/12/2022, à 16: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