Il faut aussi noter que les scripts Perl et sperl ne sont pas
compatibles à cause des protections des données externes introduites
dans sperl ("données marquées"). Voir le chapitre 23 du bouquin de
programmation Perl.
Il faut aussi noter que les scripts Perl et sperl ne sont pas
compatibles à cause des protections des données externes introduites
dans sperl ("données marquées"). Voir le chapitre 23 du bouquin de
programmation Perl.
Il faut aussi noter que les scripts Perl et sperl ne sont pas
compatibles à cause des protections des données externes introduites
dans sperl ("données marquées"). Voir le chapitre 23 du bouquin de
programmation Perl.
Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Vincent Lefevre wrote, On 1/12/07 19:18:Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Oui, mais au moins ce sera de sa faute :)
Vincent Lefevre wrote, On 1/12/07 19:18:
Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Oui, mais au moins ce sera de sa faute :)
Vincent Lefevre wrote, On 1/12/07 19:18:Oui, reste que tout ceci est idiot. Si le noyau prenait en compte le
bit setuid, il n'y aurait pas besoin de ce workaround. Si ce choix a
été fait pour éviter que le neuneu de base fasse des scripts setuid
avec des trous de sécurité, j'ai bien peur qu'il essaie de contourner
la limitation avec des trous encore plus gros.
Oui, mais au moins ce sera de sa faute :)
Dans l'article <1i8e9kk.1arwhd21ru6088N%Nicolas-MICHEL'_remove_'@bluewin.ch>,
Nicolas MICHEL <Nicolas-MICHEL'_remove_'@bluewin.ch> écrit:Vincent Lefevre <vincent+ wrote:sudo est destiné à root, alors qu'un utilisateur lambda peut avoir un
programme setuid.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
%> sudo visudo
%staff ALL = NOPASSWD: /usr/bin/pon
et c'est fait.
Non ?
Mais tu as besoin des droits de root quelque part pour pouvoir faire ça.
Dans l'article <1i8e9kk.1arwhd21ru6088N%Nicolas-MICHEL'_remove_'@bluewin.ch>,
Nicolas MICHEL <Nicolas-MICHEL'_remove_'@bluewin.ch> écrit:
Vincent Lefevre <vincent+news@vinc17.org> wrote:
sudo est destiné à root, alors qu'un utilisateur lambda peut avoir un
programme setuid.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
%> sudo visudo
%staff ALL = NOPASSWD: /usr/bin/pon
et c'est fait.
Non ?
Mais tu as besoin des droits de root quelque part pour pouvoir faire ça.
Dans l'article <1i8e9kk.1arwhd21ru6088N%Nicolas-MICHEL'_remove_'@bluewin.ch>,
Nicolas MICHEL <Nicolas-MICHEL'_remove_'@bluewin.ch> écrit:Vincent Lefevre <vincent+ wrote:sudo est destiné à root, alors qu'un utilisateur lambda peut avoir un
programme setuid.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
%> sudo visudo
%staff ALL = NOPASSWD: /usr/bin/pon
et c'est fait.
Non ?
Mais tu as besoin des droits de root quelque part pour pouvoir faire ça.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Vincent Lefevre <vincent+ wrote:Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Oui, mais pour en faire un exécutable setuid root il faudra quand même
qu'il appartienne à root et donc en transférer la propriété à ce
dernier, ce qui nécessite d'être root, chown n'est pas setuid root, que
je sache.
Vincent Lefevre <vincent+news@vinc17.org> wrote:
Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Oui, mais pour en faire un exécutable setuid root il faudra quand même
qu'il appartienne à root et donc en transférer la propriété à ce
dernier, ce qui nécessite d'être root, chown n'est pas setuid root, que
je sache.
Vincent Lefevre <vincent+ wrote:Pour configurer un setuid, faut pas être root ?
Non, pas besoin. Il suffit d'être le propriétaire du programme.
Oui, mais pour en faire un exécutable setuid root il faudra quand même
qu'il appartienne à root et donc en transférer la propriété à ce
dernier, ce qui nécessite d'être root, chown n'est pas setuid root, que
je sache.
Je crois que Vincent faisait justement référence au cas où un
utilisateur A veut permettre aux autres utilisateurs de lancer un script
comme s'ils étaient A. Si le système supporte les script suid, A peut le
faire même s'il n'est qu'un utilisateur normal. Alors que si cela doit
être fait en configurant sudo, il ne pourra pas le faire.
Je crois que Vincent faisait justement référence au cas où un
utilisateur A veut permettre aux autres utilisateurs de lancer un script
comme s'ils étaient A. Si le système supporte les script suid, A peut le
faire même s'il n'est qu'un utilisateur normal. Alors que si cela doit
être fait en configurant sudo, il ne pourra pas le faire.
Je crois que Vincent faisait justement référence au cas où un
utilisateur A veut permettre aux autres utilisateurs de lancer un script
comme s'ils étaient A. Si le système supporte les script suid, A peut le
faire même s'il n'est qu'un utilisateur normal. Alors que si cela doit
être fait en configurant sudo, il ne pourra pas le faire.
Je réalise en fait que je ne sais pas ce que fait setuid.
Je le confonds avec l'option "(the set-user-ID-on-execution bit)"
qu'on trouve dans le man chmod.
Le man setuid est obscure à mes yeux.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
Je réalise en fait que je ne sais pas ce que fait setuid.
Je le confonds avec l'option "(the set-user-ID-on-execution bit)"
qu'on trouve dans le man chmod.
Le man setuid est obscure à mes yeux.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
Je réalise en fait que je ne sais pas ce que fait setuid.
Je le confonds avec l'option "(the set-user-ID-on-execution bit)"
qu'on trouve dans le man chmod.
Le man setuid est obscure à mes yeux.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
Si, c'est bien de ça qu'on parle : le setuid-bit qu'on peut mettre par
la commande chmod. Il permet de faire qu'à l'exécution d'un programme l'
utilisateur effectif soit le propriétaire du programme (pas forcément
root) et par suite différent de l'utilisateur réel (celui qui a lancé
l'exécution). Le programme se retrouve alors avec les droits de
l'utilisateur effectif, et peut donc faire des actions
(lecture/écriture/exécution) que l'utilisateur réel n'a pas le droit de
faire.
Le man setuid est obscure à mes yeux.
Attention, ceci n'est pas tout à fait la même chose : il s'agit de la
fonction setuid(), appel système, qui peut être appelée dans un
programme C pour modifier l'utilisateur effectif, mais aussi
l'utilisateur réel et l'utilisateur sauvé (voir ci-dessous). Quand tu
fais "man setuid", tu peux voir sur les lignes d'entête : "SETUID(2)"
Le (2) signifie que tu es dans la section 2 du manuel, c'est-à-dire
celle consacrée aux appels systèmes que l'on peut faire depuis un
programme C.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
C'est tout expliqué dans l'intro de la section 2 :
man 2 intro
et tu cherches le mot "real" pour l'utilisateur réel. Les deux autres
sont à la suite...
Si, c'est bien de ça qu'on parle : le setuid-bit qu'on peut mettre par
la commande chmod. Il permet de faire qu'à l'exécution d'un programme l'
utilisateur effectif soit le propriétaire du programme (pas forcément
root) et par suite différent de l'utilisateur réel (celui qui a lancé
l'exécution). Le programme se retrouve alors avec les droits de
l'utilisateur effectif, et peut donc faire des actions
(lecture/écriture/exécution) que l'utilisateur réel n'a pas le droit de
faire.
Le man setuid est obscure à mes yeux.
Attention, ceci n'est pas tout à fait la même chose : il s'agit de la
fonction setuid(), appel système, qui peut être appelée dans un
programme C pour modifier l'utilisateur effectif, mais aussi
l'utilisateur réel et l'utilisateur sauvé (voir ci-dessous). Quand tu
fais "man setuid", tu peux voir sur les lignes d'entête : "SETUID(2)"
Le (2) signifie que tu es dans la section 2 du manuel, c'est-à-dire
celle consacrée aux appels systèmes que l'on peut faire depuis un
programme C.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
C'est tout expliqué dans l'intro de la section 2 :
man 2 intro
et tu cherches le mot "real" pour l'utilisateur réel. Les deux autres
sont à la suite...
Si, c'est bien de ça qu'on parle : le setuid-bit qu'on peut mettre par
la commande chmod. Il permet de faire qu'à l'exécution d'un programme l'
utilisateur effectif soit le propriétaire du programme (pas forcément
root) et par suite différent de l'utilisateur réel (celui qui a lancé
l'exécution). Le programme se retrouve alors avec les droits de
l'utilisateur effectif, et peut donc faire des actions
(lecture/écriture/exécution) que l'utilisateur réel n'a pas le droit de
faire.
Le man setuid est obscure à mes yeux.
Attention, ceci n'est pas tout à fait la même chose : il s'agit de la
fonction setuid(), appel système, qui peut être appelée dans un
programme C pour modifier l'utilisateur effectif, mais aussi
l'utilisateur réel et l'utilisateur sauvé (voir ci-dessous). Quand tu
fais "man setuid", tu peux voir sur les lignes d'entête : "SETUID(2)"
Le (2) signifie que tu es dans la section 2 du manuel, c'est-à-dire
celle consacrée aux appels systèmes que l'on peut faire depuis un
programme C.
C'est quoi la différence entre UID effectif, UID réel et UID sauvé ?
A quoi sert ce truc, concrêtement ?
C'est tout expliqué dans l'intro de la section 2 :
man 2 intro
et tu cherches le mot "real" pour l'utilisateur réel. Les deux autres
sont à la suite...
Ceci dit immaginer faire ça sur un post dont on est pas admin, je vois
mal ... Sur un serveur web éventuellement ?
Ici, ni Mac OS X 10.4 ni CentOS ni les man pages françaises de linux ne
me renseignent à ce sujet.
Ceci dit immaginer faire ça sur un post dont on est pas admin, je vois
mal ... Sur un serveur web éventuellement ?
Ici, ni Mac OS X 10.4 ni CentOS ni les man pages françaises de linux ne
me renseignent à ce sujet.
Ceci dit immaginer faire ça sur un post dont on est pas admin, je vois
mal ... Sur un serveur web éventuellement ?
Ici, ni Mac OS X 10.4 ni CentOS ni les man pages françaises de linux ne
me renseignent à ce sujet.