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

Administration système Discussion :

permission denied alors que je suis en root?


Sujet :

Administration système

  1. #1
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut permission denied alors que je suis en root?
    Bonjour,
    J'essaie d'execter ce script sur un serveur distant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    case "$1" in
    	start)
    		echo -n "Creating container"
    		/root/vzctl create 9 --ostemplate debian-5.0-i386-minimal --config vps.basic
    		echo "."
    		;;
    Mais il renvoie cette erreur alors que je suis bien en connecte en root:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /root/vzctl: Permission denied
    Je ne connais pratiquement rien a la programmation bash, pourriez vous m'indiquer pourquoi il y a un soucis lors de l'execution?
    Merci!
    ZORRO
    Plus Vengeur que Masqué

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 538
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 538
    Points : 19 360
    Points
    19 360
    Par défaut
    As-tu rendu le script éxécutable ? (cf. man chmod)
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Oui, je crois que le problème vient de mon script que j'ai placé dans le répertoire /root. Le l'ai mis dans init.d et ça fonctionne. Est-ce qu'on est obligé de le mettre dans des répertoires comme init.d pour qu'il fonctionne?
    ZORRO
    Plus Vengeur que Masqué

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 538
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 538
    Points : 19 360
    Points
    19 360
    Par défaut
    Soyons clairs ! LE script dont nous parlons est le script qui contient la commande vzctl...

    S'il s'agit d'un script d'initialisation (devant être lancé au démarage de la machine), il doit être sous /etc/init.d, et être configuré avec 'update-rc.d', vu qu'il semble que tu es sur Debian...

    S'il s'agit d'un script de lancement (éxécuté "à la main" après le démarrage de la machine), il peut être n'importe où...


    Mais, comment se fait-il que vzctl (qui est un probablement un binaire) soit sous /root ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    vzctl peut-être lancé à partir de n'importe quel répertoire de la machine. Je ne pense pas que les binaires se trouvent sous /root, (j'ai pas accès au serveur ici, je ne peut pas le vérifier)
    donc le problème finalement reste le même, pourquoi est-ce que je ne peut pas exécuter ce script n'importe où, alors que la commande qu'il emploie, vzctl, peut être lancée à partir d'un répertoire quelconque?
    Merci de ton aide!
    ZORRO
    Plus Vengeur que Masqué

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 538
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 538
    Points : 19 360
    Points
    19 360
    Par défaut
    Citation Envoyé par Balbuzard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [..]/root/vzctl create[...]
    Là, tu demandes à ton script de trouver la commande vzctl sous /root/...
    et bash de répondre :
    /root/vzctl: Permission denied
    Il pourrait même dire qu'il ne trouve pas le fichier !


    La solution se trouverait-elle dans le cours de ton script (je serais curieux de le voir en entier) ?

    Je n'imagine pas de raison pour laquelle un script aurait un tel comportement.

    Tu as écrit le script
    en tant que root,
    sous le répertoire /root/,
    puis tu l'as rendu éxécutable,
    et
    lorsque tu as voulu le lancer par
    ./ton_script.sh ou /root/ton_script.sh
    il t'a été retourné le message d'erreur de bash...
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Ton filesystem /root ne serait pas monté avec l'option noexec ?

  8. #8
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Bonjour, merci vivement de vos reponses, voici le detail de mon script:
    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
    29
    #!/bin/sh
     
    ## /etc/init.d/ip_forwarding
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
     
    NAME=CreatingContainers
    DESC=Create Containers with debian 5.0 ostemplate
     
    case "$1" in
            start)
                    echo -n "starting $DESC : $NAME"
                    #echo 1 >/proc/sys/net/ipv4/ip_forward
                    #iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
                    vzctl create 9 --ostemplate debian-5.0-i386-minimal --config vps.basic
                    echo "Created 9"
                    ;;
            stop)
                    echo -n "This can not be stopped"
                    echo "."
                    ;;
            restart)
                    echo -n "This can not be restarted"
                    echo "."
                    ;;
            *)
                    echo -n "Only start mode sets up the creation of containers" >&2
                    exit 1
    esac
    exit 0
    J'ai modifie la ligne utilisant l'instruction vzctl, qui fonctionne a present (aux bugs non pris en compte pres :-S) J'ai cree mon script sur mon pc de bureau, l'ai envoye sur le serveur (scp) puis donne tous les droits (chmod 777 pour pas me prendre la tete) dans le repertoire /root.
    Je crois que le repertoire /root est en noexec comme le dit Natafan, puisque hors du script la commande /root/vzctl retourne le meme message d'erreur. Voici le contenu de mon fichier /etc/fstab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    proc            /proc           proc    defaults        0       0
    /dev/sda1       /               ext3    defaults,errors=remount-ro 0       1
    /dev/sda5       none            swap    sw              0       0
    /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
    /dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
    Mais apparement, / et donc /root ne sont pas en noexec, ou bien je ne sais pas lire ce fichier? (Possible, vu ma faible experience de linux encore ;-))

    Merci encore de votre aide!
    ZORRO
    Plus Vengeur que Masqué

Discussions similaires

  1. [2012] SOS_SCHEDULER_YIELD alors que je suis seul
    Par Donpi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/05/2013, 11h19
  2. Réponses: 8
    Dernier message: 03/12/2012, 23h15
  3. Réponses: 2
    Dernier message: 10/02/2010, 21h15
  4. Permission denied en tant que root pour éditer un fichier
    Par gamerome dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 03/12/2009, 17h04
  5. Réponses: 4
    Dernier message: 13/08/2005, 11h20

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