OVH Cloud OVH Cloud

propriétaire d'un process

6 réponses
Avatar
Christophe PEREZ
Bonjour,

J'ai un petit problème, je cherche à lancer un soft (ices) attribué au
user ices.

Mais, si je fais :
su -c "/usr/bin/ices0 -c /etc/ices/ices.conf" ices
il ne se lance pas, j'imagine parce que ices n'a pas de shell

avec :
su -p -c "/usr/bin/ices0 -c /etc/ices/ices.conf" ices
Il se lance bien sous ices, mais du coup, je ne sais pas pourquoi, la
fonction randomize de ices (fichier de config) n'est pas prise en compte,
la playlist est jouée dans l'ordre.
J'imagine que c'est à cause d'un retour de la fonction qui ne se fait pas.

Pour l'instant, je lance donc en root :
/usr/bin/ices0 -c /etc/ices/ices.conf
mais est-il possible d'attribuer à postériori ce process à un autre
user (ices) ?

Merci d'avance.

--
Christophe PEREZ
Écrivez moi sans _faute !

6 réponses

Avatar
chmod 777
Christophe PEREZ wrote:

Bonjour,



Bonsoir



Pour l'instant, je lance donc en root :
/usr/bin/ices0 -c /etc/ices/ices.conf
mais est-il possible d'attribuer à postériori ce process à un autre
user (ices) ?


Si j'ai bien compris, tu cherches à lancer un programme alors que tu n'en es
pas le propriétaire?

C'est faisable simplement en le rendant exécutable par les membres du groupe
(en vérifiant que tu es membre de ce groupe) ou en le rendant utilisable
par tout le monde.


Merci d'avance.



De rien... J'espère simplement avoir bien compris ta question...


Lionel

Avatar
Christophe PEREZ
Le Wed, 20 Oct 2004 22:13:56 +0200, chmod 777 a écrit:

Si j'ai bien compris, tu cherches à lancer un programme alors que tu n'en es
pas le propriétaire?


Non, pas vraiment.
Je cherche à faire lancer un programme à root en l'attribuant à un user
fictif de façon à ce que le programme ne tourne pas sous root, question
de sécurité paraît-il ;-)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
GERBIER Eric
Christophe PEREZ wrote:
Le Wed, 20 Oct 2004 22:13:56 +0200, chmod 777 a écrit:


Si j'ai bien compris, tu cherches à lancer un programme alors que tu n'en es
pas le propriétaire?



Non, pas vraiment.
Je cherche à faire lancer un programme à root en l'attribuant à un user
fictif de façon à ce que le programme ne tourne pas sous root, question
de sécurité paraît-il ;-)


il y a deux solutions

- avec su

tu peux tester ta solution en la decomposant en deux etapes :
su - ices
/usr/bin/ices0 -c /etc/ices/ices.conf

- ou jouer sur le bit s des droits du programme

chown toto programme
chmod u+s programme
et le programme va s'executer en tant que toto


Avatar
Christophe PEREZ
Le Thu, 21 Oct 2004 09:49:39 +0200, GERBIER Eric a écrit:

tu peux tester ta solution en la decomposant en deux etapes :
su - ices
/usr/bin/ices0 -c /etc/ices/ices.conf


Dans un script, tel quel ?
J'ai essayé, mais il n'est pas lancé en tant que ices.
Ceci dit, je ne crois pas avoir précisé que c'était par script :-(

Par contre, j'ai eu un message d'erreur me faisant remarqué que le $HOME
de ices n'existait pas ! (erreur de ma part)

Et du coup, maintenant, même la syntaxe initiale
daemon --user ices /usr/bin/ices0 -c /etc/ices/ices.conf
fonctionne parfaitement.

- ou jouer sur le bit s des droits du programme

chown toto programme
chmod u+s programme
et le programme va s'executer en tant que toto


Oui, mais dans ce cas là, c'est tout de même moins souple. Je préfère
encore la méthode "su" qui permet d'affecter un user au besoin.

Merci de t'être intéressé à mon problème, ce qui m'a permis de
trouver mon erreur.

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
GERBIER Eric
Christophe PEREZ wrote:
Le Thu, 21 Oct 2004 09:49:39 +0200, GERBIER Eric a écrit:


tu peux tester ta solution en la decomposant en deux etapes :
su - ices
/usr/bin/ices0 -c /etc/ices/ices.conf



Dans un script, tel quel ?


non, je voulais dire en interactif pour voir s'il y a des erreurs

J'ai essayé, mais il n'est pas lancé en tant que ices.
Ceci dit, je ne crois pas avoir précisé que c'était par script :-(

Par contre, j'ai eu un message d'erreur me faisant remarqué que le $HOME
de ices n'existait pas ! (erreur de ma part)



Et du coup, maintenant, même la syntaxe initiale
daemon --user ices /usr/bin/ices0 -c /etc/ices/ices.conf
fonctionne parfaitement.


- ou jouer sur le bit s des droits du programme

chown toto programme
chmod u+s programme
et le programme va s'executer en tant que toto



Oui, mais dans ce cas là, c'est tout de même moins souple. Je préfère
encore la méthode "su" qui permet d'affecter un user au besoin.


autre restriction : cette methode (setuid) ne marche pas sur un script,
seulement sur un binaire


Avatar
Christophe PEREZ
Le Fri, 22 Oct 2004 09:01:44 +0200, GERBIER Eric a écrit:

Dans un script, tel quel ?


non, je voulais dire en interactif pour voir s'il y a des erreurs


ok, je n'avais pas compris.

autre restriction : cette methode (setuid) ne marche pas sur un script,
seulement sur un binaire


Oui, ça par contre, je l'ai compris/retenu même si je n'ai jamais été
dans ce cas.

--
Christophe PEREZ
Écrivez moi sans _faute !