OVH Cloud OVH Cloud

pbm de doit...

14 réponses
Avatar
Nathan
Salut tout le monde

j'ai une question tres conne... mais j'ai cherché dans un bouquin
et un peu sur le net. Et j'ai pas retrouver comment on fait ...

En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!

Merci a tous

Nathan

10 réponses

1 2
Avatar
DomiPi
Sauf erreur de ma part, j'ai appris que malheureusement, un shell script ne
transmet pas son s bit aux programmes
Dominique

"Nathan" a écrit dans le message de
news:bq0pu0$nrt$
Salut tout le monde

j'ai une question tres conne... mais j'ai cherché dans un bouquin
et un peu sur le net. Et j'ai pas retrouver comment on fait ...

En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!

Merci a tous

Nathan





Avatar
David LE BOURGEOIS

Salut tout le monde

j'ai une question tres conne... mais j'ai cherché dans un bouquin
et un peu sur le net. Et j'ai pas retrouver comment on fait ...

En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!

Merci a tous

Nathan





Et en utilisant sudo ?


--
David LE BOURGEOIS

Avatar
Peetah
On Wed, 26 Nov 2003 01:00:02 +0100, Nathan wrote:


En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!


si je ne me trompes pas, le set user bit permet te permet de lancer un
executable en lui attribuant les droits du propriétaires du fichier. Donc
il faut un "chown root speedtouch.sh" suivi d'un chmod "u+s speedtouch.sh"
Ton script s'executera avec les droits du root
tu devrais avoir quelquechose comme ca: rwsr-xr-x

Avatar
[Sauron De Mordor]
Peetah wrote:

On Wed, 26 Nov 2003 01:00:02 +0100, Nathan wrote:



En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!



si je ne me trompes pas, le set user bit permet te permet de lancer un
executable en lui attribuant les droits du propriétaires du fichier. Donc
il faut un "chown root speedtouch.sh" suivi d'un chmod "u+s speedtouch. sh"
Ton script s'executera avec les droits du root
tu devrais avoir quelquechose comme ca: rwsr-xr-x




en fait non car les suid bit ne marche pas avec les scripts

et pour un binaire il vaut mieux les droits du style r-x--s--


Avatar
Nathan
En gros si je veux que ca marche, il faut le refaire en C et le compiler
.....

C'est pas super glop ca ...

Merci de votre aide!
Nathan


"[Sauron De Mordor]" a écrit dans le message de news:
bq2gtp$19s$


Peetah wrote:

On Wed, 26 Nov 2003 01:00:02 +0100, Nathan wrote:



En fait j'ai un fichier speedtouch.sh, qui appartient au root, dans un
repertoir ,
et je veux que tout le monde est le droit de l'executer
donc j'ai donné les droits : rwxr-xr-x
Le pbm c'est que c'est un script qui va executer des commande reserver au
root (ex: mount, etc..)
donc j'ai donné les droits : rwsr-sr-s
mais ca change rien....
pkoi? où j'ai faux ? help me !!!



si je ne me trompes pas, le set user bit permet te permet de lancer un
executable en lui attribuant les droits du propriétaires du fichier. Donc
il faut un "chown root speedtouch.sh" suivi d'un chmod "u+s speedtouch.sh"
Ton script s'executera avec les droits du root
tu devrais avoir quelquechose comme ca: rwsr-xr-x




en fait non car les suid bit ne marche pas avec les scripts

et pour un binaire il vaut mieux les droits du style r-x--s--


Avatar
Emmanuel Florac
Dans article <bq366g$j6c$,
disait...

En gros si je veux que ca marche, il faut le refaire en C et le compiler
.....



Non pas forcément. EN fait on peut autoriser le suid root pour certains
interpréteurs, par exemple perl, au moment de la compilation. ON peut
donc faire des scripts perl (et sans doute d'autres langages) setuid
root.

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

Avatar
Stephane Chazelas
2003-11-26, 22:41(+01), Nathan:
En gros si je veux que ca marche, il faut le refaire en C et le compiler
.....

C'est pas super glop ca ...


Tu peux utiliser sudo ou consors. En utilisant les POSIX
capabilities (de Linux, les POSIX cap de POSIX n'ont jamais vu
le jour), tu peux limiter les dégats en n'autorisant que ce qui
est nécessaire, vu qu'un script shell avec privilège est un
immense trou de sécurité. Exemple:

#! /bin/sh
cat /etc/motd

Si ce script était setuid root, yaurait au moins 3 façons
différents de pouvoir obtenir un shell root avec.

Avec:

#! /bin/sh -
'/bin/cat' '/etc/motd'

c'est déjà plus dur voire impossible suivant les systèmes.

Regarde la FAQ unix (sur www.faqs.org) pour plus d'info

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Pascal Bourguignon
Emmanuel Florac writes:

Dans article <bq366g$j6c$,
disait...

En gros si je veux que ca marche, il faut le refaire en C et le compiler
.....



Non pas forcément. EN fait on peut autoriser le suid root pour certains
interpréteurs, par exemple perl, au moment de la compilation. ON peut
donc faire des scripts perl (et sans doute d'autres langages) setuid
root.


Et puis, c'est si facile de faire un wrapper pour lancer des script en
suid. Voici par exemple celui que j'utiliser pour suider mes CGI:


------------------------------------------------------------------------
/*****************************************************************************
FILE: wrapper.c
LANGUAGE: c
SYSTEM: POSIX
USER-INTERFACE: NONE
DESCRIPTION

Wrapper for suid CGI.

AUTHORS
<PJB> Pascal Bourguignon
MODIFICATIONS
2003-11-27 <PJB> Added this comment.
BUGS
LEGAL
GPL

Copyright Pascal Bourguignon 2003 - 2003

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
*****************************************************************************/
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>


#ifndef CGIBIN
#error "CGIBIN is undefined."
#endif

#ifndef CGIEXE
#error "CGIEXE is undefined."
#endif

#ifndef CGINAME
#error "CGINAME is undefined."
#endif


int main(int argc,char** argv)
{
setreuid(geteuid(),geteuid());
umask(0022);
#ifdef LD_LIBRARY_PATH
putenv("LD_LIBRARY_PATH=" LD_LIBRARY_PATH);
#endif
putenv("LC_CTYPE=fr_FR");

return(execl(CGIBIN "/" CGIEXE,CGINAME,0));
}/*main*/

/*** wrapper.c -- 2003-10-23 01:56:35 -- pascal ***/
------------------------------------------------------------------------


--
__Pascal_Bourguignon__ http://www.informatimago.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Living free in Alaska or in Siberia, a grizzli's life expectancy is 35 years,
but no more than 8 years in captivity. http://www.theadvocates.org/


Avatar
Emmanuel Florac
Dans article ,
disait...

Et puis, c'est si facile de faire un wrapper pour lancer des script en
suid. Voici par exemple celui que j'utiliser pour suider mes CGI:



Des CGI setuid root? J'en frissonne de terreur.

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

Avatar
Pascal Bourguignon
Emmanuel Florac writes:

Dans article ,
disait...

Et puis, c'est si facile de faire un wrapper pour lancer des script en
suid. Voici par exemple celui que j'utiliser pour suider mes CGI:



Des CGI setuid root? J'en frissonne de terreur.


Et des programmes login ou sshd tourant sous root t'en frissone pas de
terreur ?


--
__Pascal_Bourguignon__ http://www.informatimago.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Living free in Alaska or in Siberia, a grizzli's life expectancy is 35 years,
but no more than 8 years in captivity. http://www.theadvocates.org/


1 2