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 20/10/2020, à 14:41

math.hdr

Code sur Application

Bonjour, j'aimerais sécuriser un pc en limitant l’accès a certaines applications comme nautilus par un code...
Est-ce possible?

Hors ligne

#2 Le 20/10/2020, à 19:27

PmGs

Re : Code sur Application

On pourrait appeler le code en question 'mot de passe' est déjà c'est fait :-)
Maintenant si tu veux que certains utilisateurs n'aient accès qu'à certaines applications tu peux par exemple regrouper ces dernières dans un répertoire et y faire pointer exclusivement le path de l'utilisateur autorisé.

Hors ligne

#3 Le 21/10/2020, à 09:27

Compte anonymisé

Re : Code sur Application

Bonjour cela n'a pas beaucoup de sens car il n'y a rien qu'un utilisateur puisse faire avec Nautilus mais pas avec un terminal. Il faudrait donc bloquer de la même manière toutes les applications qui fournissent un terminal (terminal, editeur de texte et même GNOME Shell ...) pour finalement se rendre compte que tout cela est vain car on peut itérer le raisonnement avec un simple tty.

Bref, une session utilisateur avec des droits sur mesure est la seule solution.

#4 Le 21/10/2020, à 19:53

math.hdr

Re : Code sur Application

Bonjour et merci pour vos réponses, pour une créer une session utilisateur avec des droits sur mesure comment doit-je m'y prendre ?

Hors ligne

#5 Le 31/10/2020, à 18:32

LeoMajor

Re : Code sur Application

bonjour,

Je comprends l'énoncé du problème de 2 manières.

1/ comme @clarisse ?
tu veux un peu plus de discrétion sur le home, et donc depuis le compte de toto "nautilus /home/tata" est trop intrusif

 sudo chmod 750 /home/tata

-> chez toto, nautilus refusera d'afficher le /home/tata. idem avec une console.

2/ mode opératoire du login/mot de passe
L'authentification réussit, alors l'application se lance

  cat exlogin.bash
#!/bin/bash

init() {
create toto secret
create tata tresor
create titi cadenas
create momo secret
}

verify(){
local csat ve=0

while IFS=$':' read a b c

do if [ "x$1" = "x$a" ]; then
	echo "$a, utilisateur trouvé"; ((ve++))
	csat=$(awk '{print $1}' < <(sha256sum < <(echo -n "$b:$2")))

if [ "x$csat" = "x$c" ]; then echo "mot_de_passe correct"; ((ve++)); fi

fi

done </tmp/store
if [ "$ve" -eq 2 ]; then echo "authentification réussie -> l'application se lance"; else echo "authentification échouée"; fi
}

create() {
local user pass salt csat
user="$1"
pass="$2"
salt=$(openssl rand -hex 4)
csat=$(awk '{print $1}' < <(sha256sum < <(echo -n "$salt:$pass")))
echo "$user:$salt:$csat" >> /tmp/store
}


if [ ! -f /tmp/store ]; then init; fi
while true; do
	read -p "utilisateur ?" utilisateur
	echo
	read -p "mot_de_passe ?" secret
	echo
	verify "$utilisateur" "$secret"
	echo
done

c'est parfaitement possible en enjolivant le paquet cadeau, un peu de binaire, un peu de droit/permission, ..

Hors ligne