Aller au contenu

Lancer un service au boot ss un autre utilisateur


Sylar

Messages recommandés

J'aimerais lancer la commande suivante, en tant que "sylar" (et non root), au boot de ma machine :

% freevo -fs start

Cette commande doit me lancer un serveur X avec le soft freevo seul qui y tourne.

Pour ça, j'ai fait un petit script /etc/init.d/freevo, dont voici un extrait :

case "$1" in
 start)
	echo -n "Starting $DESC: "
	/bin/su - sylar -c "freevo -fs start"
	echo "$NAME."
   ;;

Et j'ai fait un lien qui va bien (S99freevo) vers ce script dans /etv/rc2.d (le niveau avec lequel je boote)

Mais au boot :

mesg : error : tty device is not owned by group 'tty'
X: user not authorized to run the X server, aborting
giving up.

Je n'ai donc visiblement pas les droits pour lancer X. Mais si je me log en tant que "sylar" directement sur la machine (et non à distance par ssh, là ça ne fonctionne pas non plus, avec le même message d'erreur) et que je tape "freevo -fs", là tout fonctionne et le serveur X démarre.

Une idée pour comment s'y prendre ?

Lien vers le commentaire
Partager sur d’autres sites

Je me reponds a moi meme :

Je n'ai donc visiblement pas les droits pour lancer X.

En modifiant le fichier /etc/X11/Xwrapper, je peux maintenant auroriser *tout le monde* a lancer X ... mais n'y a t'il pas moyen d'autoriser specifiquement un utilisateur autre que root a lancer X ?

mesg : error : tty device is not owned by group 'tty'

Bon, ca c'est en fait un autre probleme. J'ai ajoute mon utilisateur au groupe tty, mais pas reboote pour tester.

Lien vers le commentaire
Partager sur d’autres sites

tu le fais owner par le user en question et tu le set-uid, non ?

Euh ... comment tu fais ça concrètement ?

J'ai essayé par le script debian start-stop-daemon :

start-stop-daemon --start --chuid sylar --pidfile $PIDFILE --exec $DAEMON -- $ARGS 

Mais freevo est toujours lancé en tant que root ...

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

salut

J'ai recuperer un (pas trop ) vieux pc pour y mettre freevo moi aussi avec une debian sid

Et j'ai eu le meme soucie que toi .

pour le serveur X

dpkg-reconfigure xserver-common

et j'ai choisie tout le monde

sans tripatouiller /etc/X11/Xwrapper.config

et pour lancer freevo au demarrage avec un utilisateur que j'ai choisit ( pas le root quoi )

j'ai modifié /etc/init.d/freevo , presque comme toi mais je n'ai pas pas touché au runlevel (de toute facon c'est le meme fichier pour chaque runlevel )

#! /bin/sh

case "$1" in

start)

echo -n "Starting freevo: "

su - zaverel -c "freevo -fs & "

echo freevo start

;;

stop)

echo -n "Stopping freevo: "

killall freevo

echo "freevo stopped"

;;

restart)

echo -n "Restarting $DESC: "

$DAEMON stop

sleep 1

$DAEMON start

echo "$NAME."

;;

*)

N=/etc/init.d/$NAME

# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2

echo "Usage: $N {start|stop|restart}" >&2

exit 1

;;

esac

exit 0

et ainsi freevo est lancé sous le compte zaverel au demmarrage.

/etc/init.d/freevo start

/etc/init.d/freevo stop ( bon le stop est peut etre un peu violant c'est un killall mais ca marche )

:cartonrouge:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...