bonjour,
je n'arrive pas à prendre les droits d'un autre user avec le suid bit.
j'ai un programme qui a les droits user1 et je souhait l'executer avec user2 :
Bonjour,
La raison est qu'avec un script c'est l'interpréteur donné en première ligne du script qui est exécuté, en l'occurence ici /bin/sh qui appartient à root et ne doit surtout pas avoir le suid.
En effet ne surtout fait pas cela !!!!! Et en effet sudo est fait pour cela !
bash se protège de ce genre de modification via suid. Il annule la modification faite via suid...
[user1] $ sudo chmod 4755 /bin/vim
[user1] $ vim
... :!echo $UID
1000
Appuyez sur ENTRÉE ou tapez une commande pour continuer
en faite j'aimerais un programme pour ouvrir une session root pour n'importe qu'elle utilisateur avec un mot de passe commum.
par exemple j'ain un mdp sha256 dans /etc/rootpass, puis je rentre un mot de passe dans un programme, il le hash et le compare avec /etc/rootpass, et si ok, il m'ouvre un shell root. Mais ça sans divulguer le mot de passe root aux utilisateurs.
Je t'assure que suid fonctionne, sauf que le plupart des programmes de défendent / se protègent d'une telle modification. Car tu ne dois surtout pas faire cela !!!
Ton besoin est complètement capillotracté. Pourquoi vouloir réinventer la roue en la faisant carré ? Pourquoi vouloir créer des milliers de failles de sécurité sur ton système, car désolé mais si tu pose la question ici pour faire une telle chose c'est que tu ne maîtrise pas ce genre de choses au niveau sécurité.
Donc ton besoin peut être résumé à : je veux pouvoir avoir 2 mots de passe Root. La question que je te pose est pourquoi ? Pourquoi ne pas donner le mot de passe Root car ils pourront faire la même chose s'il l'avait...