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 :

choix d'un utilisateur dans un script shell


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut choix d'un utilisateur dans un script shell
    Bonjour

    j'exécute un script Shell à partir d'une appli java, mais j'ai besoin d'exécuter les commande présente dans le script sous un utilisateur précis (toto par exemple), comment faire ca dans le script sachant que la commande su
    ne permet pas de mettre le mot de passe de l'utilisateur dans la même ligne mais elle demande un mot de passe après avoir taper su toto. Et donc je peux l'utiliser dans ce cas.

    Merci par avance

  2. #2
    tintin22
    Invité(e)
    Par défaut
    Tu peux virer la demande du mot de passe pour l'utilisateur "toto" en executant les commandes avec "sudo" et en ajoutant dans le fichier /etc/sudoers cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto  ALL=(ALL) NOPASSWD: /chemin/vers/monscript
    Dernière modification par lavazavio ; 05/08/2009 à 19h18. Motif: Ajout balises CODE

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut
    Mais j'ai seulement accès distant à la machine et seulement sous un nom d'utilisateur qui n'a pas les droit de modification. je me suis dit peut étre existe il une autre commande que su ou sudo.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Si n'importe quel utilisateur pouvait devenir n'importe quel autre utilisateur, ça se saurait... C'est absolument impossible sans un accès root à la machine.

  5. #5
    Membre actif
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par défaut yopy
    bon alors en gros ...

    en partant des credentials du root ou d'un users root (dans un groupe, ou autre fichier sudoers)

    tu peut faire du sudo su - oracle

    pratique pour choppé l'environement specifique a un user ...

    ssh pegasus@athene sudo /usr/sbin/meteore (oublie pas le sudoers pour le user pegasus ;-))

    trad pegasus sur le serveur athene utilise le batch meteore..

    maintenant en partant de ton appli java ca dois etre jouable ..

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Sauf que puisqu'il n'a pas accès au compte root sur sa machine, il ne peux pas éditer le fichier sudoers.

    D'ailleurs en passant, si on est root, on peux faire simplement su - oracle sans utiliser sudo.

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962
    Par défaut
    sans accès root, la seule solution passe par la collaboration des autres utilisateurs :

    soit le script est installé chez chacun d'eux avec chown, soit il est installé sous le compte qui exécute le code Java mais dans un dossier accessible par les autres et est exécutable par tous ces utilisateurs…

    chaque utilisateur doit ensuite avoir un dossier .ssh dans lequel il mettra dans le fichier authorized_keys la clé publique du compte qui exécute le script via Java, soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    from="IP_SERVER" ssh-rsa …RSA_PUBLIC_KEY… user_running_java@your.server.com
    l'exécution du script via Java se fera alors par l'exécution d'une commande shell via ssh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /usr/bin/ssh -i /home/USER_RUNNING_JAVA/.ssh/id_rsa USER_RUNNING_THE_SCRIPT@your.server.com "PATH_TO_SCRIPT/thescript.sh"
    mais alors même en limitant l'accès ssh via la clé à l'IP du serveur, celui qui peut se connecter au compte sous lequel tourne le code Java aura accès en ssh via ce compte à tous les comptes des utilisateurs qui participent au système…

    (de toute façon c'est çà ou avoir accès root… donc avoir accès à tout leur compte aussi…)

Discussions similaires

  1. Démarrer tomcat en tant qu'utilisateur simple dans un script shell
    Par CinePhil dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 22/05/2015, 17h02
  2. Appel d'un programme C dans un script shell
    Par Spacy_green dans le forum Linux
    Réponses: 6
    Dernier message: 01/06/2006, 13h01
  3. Inclure vi dans un script shell
    Par PierrotY dans le forum Linux
    Réponses: 3
    Dernier message: 18/05/2006, 09h28
  4. Programme en C dans un script shell
    Par am.adnane dans le forum Linux
    Réponses: 1
    Dernier message: 05/02/2006, 17h57
  5. Syntaxe dans un script shell
    Par cubepiege dans le forum Linux
    Réponses: 5
    Dernier message: 27/09/2005, 16h21

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