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

Shell et commandes GNU Discussion :

shell su root>user>root


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut shell su root>user>root
    Bonjour,

    j'ai eu beau chercher et retourner le preblème dans tous les sens, je pense que c'est pas possible.


    Je voudrai executer une partie de mon script en tant qu'un autre utilisateur, et lorsque le script est fini, redevenir root.

    J'ai créé un script de test. Le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!/bin/sh
     
    echo
    echo
    echo
    echo ========================== debut test_login.sh ============================
    echo
    echo 1 normalement root
    echo `whoami`
     
     
    VAR_LOGIN=toto
    echo pswtoto > ./toto.psw
     
    su - $VAR_LOGIN < ./toto.psw
    echo 2 normalement toto
    echo `whoami`
    exit
     
    echo 3 normalement root
    echo `whoami`
    echo
    echo ========================= fin test_login.sh ===============================
    echo
    echo
    echo
     
    exit
    Vous en pensez quoi ?
    Une alternative serait sudo a priori, mais le problème est que j'ai un bon nombre de ligne a exécuter en tant qu'utilisateur lambda et que faire un sudo pour chacune risque d'être trop lourd.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Citation Envoyé par croc14 Voir le message
    Une alternative serait sudo a priori, mais le problème est que j'ai un bon nombre de ligne a exécuter en tant qu'utilisateur lambda et que faire un sudo pour chacune risque d'être trop lourd.
    Pourquoi ne pas faire un script que tu exécuteras via sudo dans ce cas ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    faire un autre script, et tapez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su autre_login -c /path/to/command args...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Le probleme est que mon script est déjà appeler par une autre application et qu'il faut qu'il n'y ait (pour une histoire de simplicité et de sureté) qu'un seul script !!!




    Ps : merci pour le déplacement.

    edit :
    on peux pas exécuter une sous-fonction dans la commande sudo / su -c ?
    Et comme ca je met tout mon code dans une fonction et ca irait niquel !!!

  5. #5
    Membre chevronné
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Par défaut
    avez vous étudié l'utilisation des permissions absolues sur un fichier en execution .

    Citation Envoyé par extrait du man chmod
    Absolute permissions can be set by specifying a numeric_mode, an octal
    number constructed from the logical OR (sum) of the following mode
    bits:

    Miscellaneous mode bits:

    4000 (= u=s) Set user ID on file execution (file only)
    2000 (= g=s) Set group ID on file execution (file only)
    1000 (= u=t) Set sticky bit
    Exemple :
    vous avez le fichier toto.sh (Qui apartient à root)
    vous faites un chmod 7755 toto.sh

    Tous utilisateur unix "lambda" lançant toto.sh aura les droits "root" pendant toute la durée d'execution de toto.sh

    Je crois , que c'est aussi vrai dans le sens inverse

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    2 remarques:
    "echo `whoami`" peut être avantageusement remplacé par "whoami"
    l'utilisation de "toto.psw" est inutile puisque tu es root.

    Voici un script unique permettant de faire ce que tu veux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #!/bin/sh
     
    echo ========================== debut test_login.sh ============================
    echo
    echo 1 normalement root
    whoami
     
    VAR_LOGIN=toto
     
    su - $VAR_LOGIN -c "
    echo 2 normalement toto
    whoami
    "
     
    echo 3 normalement root
    whoami
    echo
    echo ========================= fin test_login.sh ===============================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ========================== debut test_login.sh ============================
     
    1 normalement root
    root
    Sun Microsystems Inc.   SunOS 5.11      snv_54  October 2007
    2 normalement toto
    toto
    3 normalement root
    root
     
    ========================= fin test_login.sh ===============================

Discussions similaires

  1. authentification pwauth avec user non root
    Par dr0zz dans le forum Administration système
    Réponses: 2
    Dernier message: 21/05/2013, 18h14
  2. [phpMyAdmin] MySQLd_multi problème connection autre user que root
    Par speedev dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 04/09/2012, 17h35
  3. Comment bloquer un user non root dans son home directory sous debian?
    Par programmerPhil dans le forum Administration système
    Réponses: 7
    Dernier message: 01/06/2006, 15h36
  4. Compte root inaccessible après changement de shell
    Par Jpountz dans le forum Administration système
    Réponses: 1
    Dernier message: 03/05/2006, 17h24
  5. #1045 - Access denied for user 'root'@'localhost'
    Par BRAUKRIS dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 13h23

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