CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Question sur fichier sudoers

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 14:34:21

Salut, j'aimerais pouvoir exécuter la commande:

:d) sudo /etc/init.d/mpd restart

sans avoir à donner de mot de passe. Donc j'ai bien compris qu'on utilisait le fichier /etc/sudoers pour configurer sudo, avec la commande visudo, mais après je ne sais pas comment m'y prendre pour faire ce que je veux. :(

Voila j'espère que vous allez pouvoir m'aider :ok:

chris_27
chris_27
Niveau 10
12 juin 2010 à 14:40:41

Ce ne serait pas plus simple de ne pas lancer mpd au boot, mais plutôt au login, de façon à ce que ce soit l'utilisateur qui contrôle ce daemon et non root ? :question:

Au passage, c'est quoi ta distribution ? (pour savoir ce qui gère les services).

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 14:53:29

Enfaite je compte utiliser mpd sur un serveur, et j'aurai donc besoin d'intégrer cette commande dans un script qui redémarrerais mpd en cas de plantage.

Là je suis sur ubuntu 10.04, mais ma distribution principal est Debian, donc si c'est les procédures sont différentes, je veux bien savoir pour Debian. :ok:

:merci:

chris_27
chris_27
Niveau 10
12 juin 2010 à 14:55:45

Tu entends quoi par relancer en cas de plantage ? Comment tu sais si ça a planté ?

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 15:07:12

En gros, je me suis fait un petit programme qui tourne en tache de fond pour gérer un planning de diffusion avec MPD, ce qui me permet me gèrer ce que lit MPD en fonction de l'heure (15h=Playlist1, 15h30=playlist2, etc...)

Et donc, le programme vérifie ,avant de lancer la playlist, que mpd n'est pas planté:

MPD_ERROR=`cat "/tmp/mpd_timing_gui/current" | awk 'NR == 1'`

if
[[ "$MPD_ERROR" = "error: Connection refused" ]]
then ...

Enfin, tu vois le truc, donc j'aimerais que le programme puisse redémarrer mpd sans mon intervention. :ok:

Et pour ça, je bloque sur le sudo /etc/init.d/mpd restart. :ok:

chris_27
chris_27
Niveau 10
12 juin 2010 à 15:33:32

Ça ressemble terriblement à liquidsoap (disons que c'est une des briques de la webradio de l'école) ce que tu racontes.

Ton test pour savoir si mpd est planté ne m'a pas l'air très propre. Je me demande si start-stop-daemon n'aurait pas une option pour relancer les daemon qui plante. À voir.

Sinon, on peut aussi s'attaquer au problème à la source : mpd n'a AUCUNE raison de planter (déjà que liquidaop j'ai pas souvent besoin de le relancer à la main alors que c'est du code "maison", alors mpd...).

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 15:46:18

Oui, je couple mon petit programme avec icecast2, ça me fait une web radio. :ok:

Mpd plante pour ainsi dire jamais c'est vrai (mais ça peut arriver chez moi, du moins quand je le manipule avec sonata), c'est juste une sécurité on va dire, un truc transparent qui fait pas de mal, dans l'absolue j'en ai pas besoin, ça marche bien sans. Et puis ça me fait apprendre des choses :oui:

A vrai dire, j'avais jamais fait de scripts ou autre avant, donc c'est très possible que ça soit pas très propre, mais en tous cas, ça marche, ça fait bien ce que je lui demande.

Donc tu penses qu'avec le fichier sudoers, je peux pas faire ce que je veux :question:

chris_27
chris_27
Niveau 10
12 juin 2010 à 16:51:50

Oui, donc ton script c'est exactement liquidsoap. :-)

Sinon, si ton mpd ne plante jamais, tu peux te permettre de le relancer en tapant le mot de passe root. C'est sans doute pas une bonne idée d'ajouter à un daemon un autre daemon qui vérifie que le premier se porte bien.

Tu peux faire ce que tu veux avec le fichier sudoers. Mais le soucis c'est que je sens qu'il va falloir te donner le droit de lancer start-stop-daemon, ce qui aura une portée bien plus grande que ce que tu souhaites. :(

godrik
godrik
Niveau 30
12 juin 2010 à 18:06:22

en passant awk 'NR == 1' ce n'est pas la meme chose que head -n1 ?

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 19:37:23

D'accord, donc si je comprends bien, pas de possibilité pour seulement avoir les droits sur cette commande en particulier :question:

Oui Godrik, à priori c'est la même chose. :ok:

chris_27
chris_27
Niveau 10
12 juin 2010 à 20:02:23

Bah, toue ce que je peux garantir, c'est que ça ne marchera pas si tu essaies de t'octroyer des droits sur un script (d'ailleurs, je pense qu'un utilisateur peut lancer /etc/init.d/mpd, il doit être a+x).

Donc j'en reviens à ma remarque initiale :

« Ce ne serait pas plus simple de ne pas lancer mpd au boot, mais plutôt au login, de façon à ce que ce soit l'utilisateur qui contrôle ce daemon et non root ? :question: »

Tu dois pouvoir régler ça dans le mpd.conf, et si ça se trouve c'est tout ce que tu as besoin de faire.

godrik
godrik
Niveau 30
12 juin 2010 à 20:10:29

si c'est la meme chose que "head -n 1", il est preferable de l'utiliser a mon avis. head est certainement capable d'arreter de lire l'entree standard quand il sait qu'il n'en fera rien et il ferme probablement le descripteur de fichier. Du coup, les ecritures sont certainement dropees par le noyau ce qui arrete cat prematurement.

en passant, pourquoi ne pas juste faire :
MPD_ERROR=`head -n 1 < "/tmp/mpd_timing_gui/current"`

qui permettrait de se passer d'un process.

Ce n'est pas que ca va faire une reelle difference en terme de performance ou de latence, mais ca diminue l'utilisation des ressource systeme et c'est une bonne habitude a prendre. Cela peut faire une difference si on fait beaucoup de chose comme cela...

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
12 juin 2010 à 20:33:46

Ok Chris, je vais essayer de voir de ce coté :ok:

Merci Godrik pour l'info, je vais corriger :ok:

[Wild-Child-87]
[Wild-Child-87]
Niveau 9
14 juin 2010 à 22:11:24

Merci Chris, j'ai résolu mon problème en plaçant le fichier conf dans mon home, et en faisant en sorte que MPD utilise celui-çi. :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment