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 :

La commande su


Sujet :

Linux

  1. #1
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut La commande su
    Bonjour à tous,

    Je débute en linux, et j'ai un problème avec un outil php que j'ai développé :

    L'outils dans prendre des fichier, les modifiés, et les copier dans un repertoire de destination particulier.

    Ce repertoire de destination à été créé par un utilisateur X, ce qui fait que je ne peux pas créer de fichier a l'intérieur de ce dernier.

    Il faudrait que je simule un "su userX", puis l'entrée du mot de passe.

    J'ai éssayé des chose dans le genre créer un script shell comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    su userX && echo 'password'
    Ca ne marche pas car je reste bloqué au moment ou il faut entrer le password.

    J'ai aussi vu qu'il y avait des solutions avec la commande sudo, mais je n'en dispose pas...

    Bref, je suis devant un mur...

    Merci d'avance à ceux qui tenteront de m'aider.

  2. #2
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    le bon reflexe est effectivement la commande su pour répondre à ton besoin mais tu n'as pas lu ou mal compris la documentation

    la syntaxe est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su USER -c "commande à faire"
    là en tappant le password... à la main lors de l'éxecution du script

  3. #3
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Merci pour ta réponse, la seul chose qui m'ennui, c'est que ma "commande à faire" est gérée en php, et le code est tout fait et marche dans un environnement windows.

    Je pourrais faire en sorte de refaire en shell, mais ce serais plus pratique si je gardais tout comme c'est.

    Si j'enlève le paramêtre "commande à faire", crois tu que cela considérera que je suis passé dans le mode utilisateur voulu, et que je pourrais faire ce que je veux ?

    En tous les cas, merci, je vais essayer comme ca.

  4. #4
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    si tu veux executer des trucs pour windows tu n'as pas de choix autre que ssh


    il te faut le serveur ssh actif sur ta station windows (ça doit se presenter comme un service je suppose) et y créer les authorisation nécéssaires pour que ta station linux puisse se connecter.

    et lancer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ssh utilisateur@machinewindows -c "commande à faire"


    faire un ouvre un shell avec le compte utilisateur et tu peux alors faire ce qu tu veux... mais tu reste sur la station locale donc ça semble ne pas être ce que tu cherche puisque tu parles d'environnement windows.

  5. #5
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Ne peux tu simplemet pas donner des droits suffisant a apache pour écrire dans ce répertoire ?

  6. #6
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    non, je ne vaux pas faire des truc pour windows, j'au un code qui fonctionne sur un serveur windows, et pas sur un serveur linux.

    C'est une question de droits, je doit créer des fichier dans un répertoire qui à été créé par un utilisateur d'un groupe particulier.

    Et pour ca, il me faut ces droits. Ce que je voudrais, c'est juste un script shell qui automatise le fait de changer d'utilisateur connecté (su -User + mot de passe sans le taper à la main).

    Je sais pas si c'est possible...

  7. #7
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par zul
    Ne peux tu simplemet pas donner des droits suffisant a apache pour écrire dans ce répertoire ?
    La, tu as atteint les limites de ma connaissance linux :o(

  8. #8
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    par exempel si ton repertoire est à toto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    drwx------ toto users (blabla) DOSSIER
    tu peux definir que toto soit dans le groupe apache
    et ouvrir les droits en lecture/ecriture du groupe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    drwxrwx--- toto apache (blabla) DOSSIER
    alors les application apaches (lancées par un utilisateur du groupe apache quelqu'il soit) peut ecrire dans DOSSIER

    _____________________________________

    changer les droit c'est chmod
    1 executer e(x)ecute
    2 ecrire (w)rite
    4 lire (r)ead
    c'est dans l'ordre utilisateur/groupe/autres

    l'utilisateur peux bien sur modifier
    laisser les membre du groupe lire le fichier mais sans le modifier
    les autres ne peuvent pas même le lire...

    un bon exemple valant mieux qu'un discours long et rebarbatif
    -rw-rw-rw- 1 root system 785288 Mar 28 21:06 sauvegarde.Z
    -rw-rw-rw- 1 operator root 162 Mar 29 20:26 sauvegarde0.Z
    -rw-rw-rw- 1 root system 785521 Mar 29 21:06 sauvegarde7.Z
    drwxr-xr-x 2 operator root 8192 Mar 30 18:00 LOG
    -rw-rw-rw- 1 root system 163 Mar 30 20:26 sauvegarde
    -rw-rw-rw- 1 rené users 784376 Mar 30 21:06 sauvegarde_file7.Z
    -rw-r--r-- 1 root root 27 Mar 31 20:00 purge.log
    -rw-rw-rw- 1 juju users 27873 Apr 2 07:00 shut.log700
    -rw-rw-rw- 1 root system 110257 Apr 2 07:04 erse.log
    -rw-rw-rw- 1 root system 27080 Apr 2 07:04 upsman.log
    -rw-r--r-- 1 root root 5752 Apr 2 08:44 check.log
    -rw-r--r-- 1 root root 1406 Apr 2 08:44 checkbis.log

  9. #9
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    J'ai essayer de faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chown -Rf user:apache monRepertoireRacineDeLapplication
    Et j'ai le droit à un joli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chown: `user:apache': invalid group

  10. #10
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    le groupe apache existe t il ? ou que l'utilisateur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -i apache /etc/group*

  11. #11
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Cette commande ne me renvoi rien, et j'ai regardé dans /etc, je n'ai aucun élément de type group*

  12. #12
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Mon probléme n'est toujours pas résolu, c'est pourquoi je tente de le relancé une dernière fois.

    Please

  13. #13
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Le groupe crée par défault pour apache2 semble être www-data.

    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep www-data /etc/group
    Si cela te renvoie quelquechose, tu peux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chgrp -R www-data Racinedetonapplication

  14. #14
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Effectivement, tu as raison sur le groupe www-data, le grep me renvois :

    J'ai fait le chgrp sur la racine de mon appli, je vais tester un peu plus tard car elle est en cours de traitement.

    Par contre, le fait de changer le groupe du repertoire de mon appli ne devrais pas permettre de créer des repertoires (ou des fichiers) dans une arborescence exterieure à mon appli non ?

  15. #15
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Bon, je viens d'effectuer mon test, et cela n'a rien changé, même lorque j'essaie de créer des repertoire et fichier dans une arborescence de l'application.

    Pour que cela marche, je suis obligé de me mettre en root sous une console, et de faire un "chown nobody" sur l'arbo principal de l'appli...

    Il me faudrait un de rendre possible cela automatique avant la création des repertoires/fichiers

  16. #16
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Montre les droits qu'il y'a sur le répertoire et ses fils ( avec ls -l )?

  17. #17
    Membre régulier Avatar de ashurai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 144
    Points : 115
    Points
    115
    Par défaut
    Voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drwxr-sr-x   9 user1  www-data   4096 2006-04-05 15:02 ta_tools

  18. #18
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    le groupe n'a pas de droits à l'écriture

    ajoute le


Discussions similaires

  1. Interception des commandes in et out
    Par KDD dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 18/12/2002, 16h55
  2. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  3. [Kylix] Commandes linux ss kylix
    Par csnickos dans le forum EDI
    Réponses: 3
    Dernier message: 15/09/2002, 20h24
  4. Réponses: 3
    Dernier message: 02/09/2002, 18h49
  5. Réponses: 2
    Dernier message: 11/08/2002, 21h27

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