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 29/04/2024, à 17:30

Sebos95

[Résolu] Empécher un utilisateur de se loguer

Hello, sur ma kubuntu, j'ai 4 compte utilisateurs. sebastien, secours, essai1, essai2

J'en ai "caché" 2 pour qu'il n'apparaissent pas dans la liste au démarrage du PC dans l'interface sddm... mais je voudrai plus smile  Je voudrais interdire un compte de se loguer à la machine !

Par exemple je suis avec mon compte sebastien qui est sudoers, je passe une certaine commande et le compte essais1 ne peux plus se logguer dans kubuntu, si il rentre son identifiant et son mot de passe, il faudrait que le pc lui réponde un truc du genre "ce compte n'existe pas". Puis avec mon compte sebastien, je repasse une commande et hop l'utilisateur essai1 peut à nouveau se connecter.

La question c'est de savoir si c'est possible, simplement, de faire ça ? Éventuellement même un script que je pourrais lancer pour bloquer/débloquer ce compte smile

J'ai essayé : sudo usermod essai1 -s /sbin/nologin, ça empêche effectivement le su - essai1 mais ça n'empêche pas l'utilisateur essai1 de se connecté avec son mot de passe.

Merci

Dernière modification par Sebos95 (Le 02/05/2024, à 22:25)

Hors ligne

#2 Le 29/04/2024, à 17:33

krodelabestiole

Re : [Résolu] Empécher un utilisateur de se loguer

tu changes son mot de passe pour le bloquer et le remets pour le débloquer ?

Hors ligne

#3 Le 29/04/2024, à 17:43

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

oui je viens de voir la commande passwd -l et passwd -u et oui, c'est possible que je sois dans le pbs x/y

Sur le compte de essai1 je vais mettre des données confidentiels, et je ne les veux pas sur mon compte sebastien que je vais utiliser tous les jours, comme ça si je bousille mon compte ou si j’oublie de fermer ma session, pas de souci avec ces données, elles sont inattaquables, non supprimable etc...

Ces données seront bien entendu chiffrés et je veux pouvoir les synchroniser avec un cloud.

Mon idée (et peut être le x/y) j'utilise un compte caché et non loguable dans ma machine (le compte essai1) et de temps en temps si j'ai besoin de mettre de nouvelles données, j'autorise la possibilité à ce compte de se connecter au système depuis mon compte sebastien.

Mais encore mieux si je pouvais mettre une double authentification à la connexion à la machine, ça m’éviterait de jouer avec les mots de passe.

EUUHHHH suis-je clair ?

Dernière modification par Sebos95 (Le 29/04/2024, à 17:46)

Hors ligne

#4 Le 29/04/2024, à 18:07

iznobe

Re : [Résolu] Empécher un utilisateur de se loguer

Bonjour , tu ne serais pas parano ?

Si tu laisse ta session ouverte , n ' importe qui pourra changer le mot de passe de essai1 et donc y acceder , enfin si cette personne est pas degourdie ...
Vu que le compte sebastien a un acces superutilisateur et que tu laisses ta session ouverte avec un terminal dans lequel tu aurais passé une commande qui commence par " sudo " , alors , il suffira a l' autre personne de taper " sudo ce qu ' il veut " , et ca fonctionnera pour les 15 minutes qui suivent ta dernière commande , et donc il pourra acceder alors au compte essai1 en faisant simplement :

sudo cat ~/essai1 *
sudo ls -l ~/essai1

etc ...

bref , je ne vois pas tellement l' interet de tout ca , le mieux etant de ne pas laisser sa session ouverte big_smile

une autre solution , c' est que tu te crees un autre compte que sebastien sans acces root , que tu utilises pour l ' utilisation courante .
Quand tu as besoin tu changes de session et tu te connectes avec sebastien . tu fais tes trucs , puis tu repasses avec SEB une fois terminé . la tu peux faire le faignant et laisser ta session ouverte tongue
c' est d' ailleurs comme cela que tout le monde devrait utiliser son ordi . pas l' inverse !

Tu peux aussi faire un dossier caché soit dans ton home , soit chez root .

Dernière modification par iznobe (Le 29/04/2024, à 18:12)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#5 Le 29/04/2024, à 18:50

geole

Re : [Résolu] Empécher un utilisateur de se loguer

Bonjour.
On peut aussi mettre les données vitales dans une autre partition chiffrée.


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#6 Le 29/04/2024, à 19:20

Nuliel

Re : [Résolu] Empécher un utilisateur de se loguer

Bonjour,
Partition chiffrée ou dans un fichier avec veracrypt. Ce sera plus adapté que de mettre sur un "compte utilisateur de stockage"

Dernière modification par Nuliel (Le 29/04/2024, à 19:20)

Hors ligne

#7 Le 29/04/2024, à 19:35

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

Alors non hein, je ne laisse pas ma session ouverte et le terminal disponible, c'était un exemple de pourquoi je ne veux pas mettre mes données dans ma session. Mais je gardel'idée d'utiliser au quotidien une session qui ne peux pas passer sudo, à voir.

Une partition chiffrée c'est pas la solution car quand je la synchronise sur le cloud et que je veux y avoir accès depuis un autre PC ou encore pus compliqué depuis mon téléphone c'est mort. Il faut qu'il soit dans chiffré mais re dechiffrable depuis n'importe où. Ce point là, je sais faire.

Il est possible de mettre en place une double authentification au moment d'ouvrir une session ?

Hors ligne

#8 Le 29/04/2024, à 19:45

krodelabestiole

Re : [Résolu] Empécher un utilisateur de se loguer

Sebos95 a écrit :

Ces données seront bien entendu chiffrés

tu comptes les chiffrer comment ?
tu as lu cette doc par ex. ?
à partir du moment ou c'est chiffré je ne vois pas pourquoi tu as besoin de compte supplémentaire...

Hors ligne

#9 Le 29/04/2024, à 20:11

Watael

Re : [Résolu] Empécher un utilisateur de se loguer

usermod --lock essai1

cf. man usermod.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#10 Le 29/04/2024, à 20:34

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

krodelabestiole a écrit :
Sebos95 a écrit :

Ces données seront bien entendu chiffrés

tu comptes les chiffrer comment ?
tu as lu cette doc par ex. ?
à partir du moment ou c'est chiffré je ne vois pas pourquoi tu as besoin de compte supplémentaire...

Ecryptfs : oui si je reste dans un environnement linux, mais les données sont montées dans le cloud pour et doivent pouvoir être lu depuis un autre PC sous windows ou aussi depuis un téléphone android. Pour cela j'utilise "cryptomator". Donc les données sont chiffrés avec cryptomator dans un dossier et une partition linux non chiffré de essai1.

Le compte supplémentaire c'est par sécurité, car si une personne arrive sur mon compte, alors ok il ne pourra pas lire les données mais pourrait toujours les effacer. Effectivement j'aimerais bien me passer de ce compte supplémentaire mais je ne pense pas qu'il soit possible d'empêcher la suppression d'un dossier si on est loggué sur son compte ?

Il faudrait un dossier spécial, non supprimable et non accessible sauf si MDP donné. Alors là oui, pas besoin de compte supplémentaire.

Dernière modification par Sebos95 (Le 29/04/2024, à 20:41)

Hors ligne

#11 Le 29/04/2024, à 20:48

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

Watael a écrit :
usermod --lock essai1

cf. man usermod.

Oui ça pourrait le faire, tout comme passwd -l et passwd -u. Je ne vois pas trop la différence.

Hors ligne

#12 Le 29/04/2024, à 21:21

krodelabestiole

Re : [Résolu] Empécher un utilisateur de se loguer

c'est plus propre !

Hors ligne

#13 Le 29/04/2024, à 21:24

krodelabestiole

Re : [Résolu] Empécher un utilisateur de se loguer

Sebos95 a écrit :

Le compte supplémentaire c'est par sécurité, car si une personne arrive sur mon compte, alors ok il ne pourra pas lire les données mais pourrait toujours les effacer. Effectivement j'aimerais bien me passer de ce compte supplémentaire mais je ne pense pas qu'il soit possible d'empêcher la suppression d'un dossier si on est loggué sur son compte ?

ben si tu peux, il suffit que les données appartiennent à root (par ex.), et que tu n'aies pas les droits en écriture dessus.
tu peux même t'interdire toi-même de modifier tes fichiers.
regarde la doc permissions
c'est pour ça que tout ce truc me parait franchement tordu.

Hors ligne

#14 Le 29/04/2024, à 23:15

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

J'ai fait le script suivant qui me donne satisfaction, pas vu de commande avec usermod qui me permet de "tester" l'état du compte. Pourquoi usermod c'est plus propre que passwd ?

Je vais regarder cette histoire de dossier en m'auto-supprimant les droits, je n'y ai pas pensé immédiatement... faut que je le cogite smile là les données appartiennent à essai1 et je ne peux pas écrire dessus et je ne le pourrais jamais sauf si je passe en su - essai1, ou que je me loggue avec le compte essai1. Je laisse root tranquille.
                                                                                                           

 1 #!/bin/bash
 2
 3 PS3='Choix ? '   # le prompt
 4
 5 echo ""
 6 echo "Opération sur le compte 'essai1'"
 7 echo ""
 8
 9 LISTE=("Vérrouiller" "Dévérrouiller" "Etat")  # liste de choix disponibles
10
11 select CHOIX in "${LISTE[@]}" ; do
12     case $REPLY in
13         1)
14         sudo passwd -l essai1
15         sudo passwd -S essai1 | grep "essai1 L" >NULL
16         echo ""
17         if [ $? == 0 ]; then
18                 echo "Le compte est vérrouillé (OFF)"
19         else
20                 echo "L'opération s'est mal déroulée (ERREUR)"
21         fi
22         echo ""
23         break
24         ;;
25
26         2)
27         sudo passwd -u essai1
28         sudo passwd -S essai1 | grep "essai1 P" >NULL
29         echo ""
30         if [ $? == 0 ]; then
31                 echo "Le compte est dévérrouillé (OK)"
32         else
33                 echo "L'opération s'est mal déroulée (ERREUR)"
34         fi
35         echo ""
36         break
37         ;;
38
39         3)
40         # "P" si le mot de passe est valide et utilisable, "L" si le compte utilisateur est verrouillé, et "NP" si le compte n'a pas de mot de passe
41         sudo passwd -S essai1 | grep "essai1 P" >NULL
42         if [ $? == 0 ]; then echo "Le compte est déverrouillé (OK)"
43         fi
44
45         sudo passwd -S essai1 | grep "essai1 L" >NULL
46         if [ $? == 0 ]; then echo "Le compte est vérrouillé (OFF)"
47         fi
48
49         echo ""
50         break
51         ;;
52
53         *)
54         echo ""
55         echo "ce choix n'est pas valide"
56         echo ""
57         ;;
58
59     esac
60 done 

Dernière modification par Sebos95 (Le 29/04/2024, à 23:26)

Hors ligne

#15 Le 29/04/2024, à 23:49

Watael

Re : [Résolu] Empécher un utilisateur de se loguer

un script qui comporte des sudo doit être exécuté en tant que root uniquement.

(($UID)) && { >&2 echo "must be root"; exit 1;}

un echo retourne toujours VRAI, en conséquence le test sur $? qui suit retournera aussi toujours VRAI.
pour rappel :

if COMMANDES; then COMMANDES; [ elif COMMANDES; then COMMANDES; ]... [ else COMMANDES; ] fi

or, les crochets sont un alias pour la commande test; on peut donc profitablement la remplacer par la commande à tester :

if passwd -S essai1 | grep '^essai1 P'; then ...; fi

comme vu plus haut, un if pour des conditions simples n'est pas toujours indipensable.

grep possède des options pour le rendre totalement muet.

edit:
== est un opérateur de comparaison lexicale : ça compare des chaînes.
pour effectuer une comparaison d'entiers, il faut utiliser -lt, -le ,-eq, -ge, -gt, -ne

Dernière modification par Watael (Le 29/04/2024, à 23:54)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#16 Le 30/04/2024, à 09:43

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

OK Watael, bien vu, je modifie ça dans mon script... MERCI smile

Hors ligne

#17 Le 02/05/2024, à 15:07

Sebos95

Re : [Résolu] Empécher un utilisateur de se loguer

Et pour l'ajout d'une MFA à la connexion, c'est qqchose de possible ou non ?

Hors ligne

#18 Le 02/05/2024, à 16:45

soshy

Re : [Résolu] Empécher un utilisateur de se loguer

J'aurai tendance à dire oui : https://github.com/google/google-authenticator-libpam

https://wiki.archlinux.org/title/Google_Authenticator a écrit :

In case you want to use Google Authenticator globally you would need to change /etc/pam.d/system-auth

Hors ligne