IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Passer root avec xdialog ou zenity


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut Passer root avec xdialog ou zenity
    Bonjour à tous,

    Je souhaite convertir un shell script en bash en script avec boites de dialogue.
    De ce côté, aucun soucis, je vais partir sur zenity (plus esthétique).

    Ce qui me pose problème, c'est que le script nécessite d'etre root. Je cherche donc à trouver comment faire pour que mon script réagisse comme suit :
    - on vérifie si on est loggué en root
    - si oui, on continue
    - si non (toujours le cas en fait !), on a une fenetre qui demande le passwd de root pour passer en root.
    - puis le script continue a exécuter le code mais en tant que root.

    En gros, avoir quelque chose dans le fonctionnement de Synaptic, qui demande le passwd de root et permet d'installer des paquets (sous debian ou dérivés).

    Avez-vous des pistes sur comment faire ceci ?

    Merci !
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lavazavio Voir le message
    Bonjour à tous,

    Je souhaite convertir un shell script en bash en script avec boites de dialogue.
    De ce côté, aucun soucis, je vais partir sur zenity (plus esthétique).

    Ce qui me pose problème, c'est que le script nécessite d'etre root. Je cherche donc à trouver comment faire pour que mon script réagisse comme suit :
    - on vérifie si on est loggué en root
    - si oui, on continue
    - si non (toujours le cas en fait !), on a une fenetre qui demande le passwd de root pour passer en root.
    - puis le script continue a exécuter le code mais en tant que root.

    En gros, avoir quelque chose dans le fonctionnement de Synaptic, qui demande le passwd de root et permet d'installer des paquets (sous debian ou dérivés).

    Avez-vous des pistes sur comment faire ceci ?

    Merci !
    Bon, alors première règle: un script ne s'exécute pas. Il est interprété par un programme (/bin/bash) et c'est le programme qui exécute le script avec les droits de celui qui le lance.
    Il faut donc que le script soit lancé par root. Pour ça, tu peux voir du coté de sudo ou bien créer un exécutable compilé qui, quelque part, lancera un system("nom du script) ou un execl("chemin du script/nom du script", "nom du script", "arguments du script", ..., NULL)
    Puis cet exécutable compilé tu lui mets un setuid et pis voilà. Il pourra d'ailleurs vérifier lui-même les autorisations nécessaires. Mais l'important, c'est que seul un compilé peut s'exécuter sous un autre uid. Pas un script.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Je ne sais pas si ca va t'aider mais j'ai trouvé un code exemple en BASH pour tester si le lancement est fait par l'utilisateur ROOT. Regarde l'exemple 2.3.

  4. #4
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Je vais passer par un compilé alors.
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  5. #5
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Pfff, je suis nul !
    il suffisait en fait d'appeler gksu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gksu -u root chemin/du/script.sh
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lavazavio Voir le message
    Pfff, je suis nul !
    il suffisait en fait d'appeler gksu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gksu -u root chemin/du/script.sh
    Je connaissais pas gksu. Moi j'avais parlé de sudo. Mais quoi qu'il en soit, ces 2 outils sont des compilés...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] "SHOW DATABASES" en root avec PDO ne retourne rien
    Par codefalse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/11/2008, 15h18
  2. [phpMyAdmin] Mot de passe pour root avec phpMyAdmin
    Par boss183 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/01/2008, 19h19
  3. Passer en root avec konqueror
    Par Death83 dans le forum Debian
    Réponses: 8
    Dernier message: 19/11/2006, 17h45
  4. Problème avec Xdialog !
    Par Le Mad dans le forum Linux
    Réponses: 1
    Dernier message: 03/06/2006, 20h40
  5. [FreeBSD] Passer root sous FreeBSD
    Par Willand dans le forum BSD
    Réponses: 3
    Dernier message: 15/04/2004, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo