Pages : 1
#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
Pages : 1