[suid bit] ne fonctionne pas

Applications, problèmes de configuration réseau
AchilleFraisse
Elfe
Messages : 592
Inscription : dim. 27 avr. 2014, 09:32

[suid bit] ne fonctionne pas

Message par AchilleFraisse »

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 :

Code : Tout sélectionner

[user2] $ ll test.sh
-rwsr-xr-x  1 user1 user1 33 Dec 12 20:30 test.sh

[user2] $ cat test.sh
#/bin/sh

echo $UID
echo whoami

[user2] $ ./test.sh
1001
user2

[user1] $ echo UID
1000
Alors que j'aimerais que lorsque j'exécute test.sh, UID valle 1000 et whoami valle user1
benjarobin
Maître du Kyudo
Messages : 16206
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [suid bit] ne fonctionne pas

Message par benjarobin »

Bonjour,
Tu ne peux pas suid un script. Tu ne peux le faire que sur un vrai exécutable (un ELF binaire).
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
laurent85
Elfe
Messages : 764
Inscription : mar. 16 oct. 2018, 21:05

Re: [suid bit] ne fonctionne pas

Message par laurent85 »

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.
Tuto Kde Plasma + gestionnaire de fenêtres i3
Live USB avec persistance Archuseriso
AchilleFraisse
Elfe
Messages : 592
Inscription : dim. 27 avr. 2014, 09:32

Re: [suid bit] ne fonctionne pas

Message par AchilleFraisse »

Ok merci.
Mais ca me fait pareil sur /bin/bash. Pourtant c'est bien un ELF :

Code : Tout sélectionner

[user1] $ echo $UID        
1000

[user1] $ sudo chmod 4755 /bin/bash 
[sudo] Mot de passe de user1 : 
[user1] $ ll /bin/bash
-rwsr-xr-x 1 root root 906012 21 mai.  18:15 /bin/bash*

[user1] $ /bin/bash
$ echo $UID
1000
$ exit

[user1] $ /bin/bash -p
$ echo $UID
1000
$ exit
laurent85
Elfe
Messages : 764
Inscription : mar. 16 oct. 2018, 21:05

Re: [suid bit] ne fonctionne pas

Message par laurent85 »

Ouch :shock: Il ne faut surtout pas faire ça. Remets les permissions de bash.

Utilise sudo de cette façon:

Code : Tout sélectionner

sudo -u user1 ./test.sh
Tuto Kde Plasma + gestionnaire de fenêtres i3
Live USB avec persistance Archuseriso
benjarobin
Maître du Kyudo
Messages : 16206
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [suid bit] ne fonctionne pas

Message par benjarobin »

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...
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
AchilleFraisse
Elfe
Messages : 592
Inscription : dim. 27 avr. 2014, 09:32

Re: [suid bit] ne fonctionne pas

Message par AchilleFraisse »

Mais pareil avec vim ça ne marche pas :

Code : Tout sélectionner

[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.

Code : Tout sélectionner

[user1] $ ./shell_root
Mot de passe : toto
[root] # 

[user2] $ ./shell_root
Mot de passe : toto
[root] #
benjarobin
Maître du Kyudo
Messages : 16206
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [suid bit] ne fonctionne pas

Message par benjarobin »

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...
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)
Répondre