Page 1 sur 1
[executable] problème de droit (résolu)
Publié : lun. 14 sept. 2009, 22:28
par syubuntu
bonjour,
j'ai un petit problème sûrement idiot.
J'ai écrit un passionnant petit programme en C, je l'ai compilé, puis j'ai voulu l'exécuter.
"
bash: ./prestidigitateur: Permission non accordée".
je change donc les droits. ça ne change rien.
je fais donc un chmod 777 dessus pour être sur.ça ne change rien.
je brave le danger et je l'exécute en root.
toujours rien.
donc je finis par le mettre dans /usr/bin ou cela fonctionne.
J'aimerais donc bien trouver comment avoir de nouveau un fonctionnement normal.
merci d'avance
edit : correction erreur de frappe en
rouge
Re: [EXECUTION PROGRAMME]problème de droit
Publié : lun. 14 sept. 2009, 22:38
par Vinvin
et
Bien mettre le point devant le /
Re: [EXECUTION PROGRAMME]problème de droit
Publié : lun. 14 sept. 2009, 22:45
par syubuntu
oui c'est ce que j'ai fait, dsl j'ai mal écrit

Re: [EXECUTION PROGRAMME]problème de droit
Publié : lun. 14 sept. 2009, 23:01
par benjarobin
Tiens bizarre, si tu l'exécute avec le chemin absolue, par exemple /home/tonuser/prestidigitateur, cela donne quoi ?
Bonne chance car c'est vraiment bizarre ton truc la. Sinon pour etre sur chmod 0777 sur le fichier puis vérifie le propriétaire, tu peux le changer avec chown
Re: [executable] problème de droit
Publié : lun. 14 sept. 2009, 23:06
par tuxce
tu peux nous montrer la sortie de
dans le répertoire de l'executable?
Re: [EXECUTION PROGRAMME]problème de droit
Publié : lun. 14 sept. 2009, 23:12
par syubuntu
Code : Tout sélectionner
bash: /home/sylvain/Documents/prestidigitateur: Permission non accordée
si je lui précise d'utiliser bash :
Code : Tout sélectionner
# bash /home/sylvain/Documents/prestidigitateur
/home/sylvain/Documents/prestidigitateur: /home/sylvain/Documents/prestidigitateur : fichier binaire impossible à lancer
chmod 0777 ne change rien.
je suis bien le propriétaire.Et en plus même en root il ne l'exécute pas non plus.
peut être une erreur de droit dans la hiérarchie peux poser problème?
Code : Tout sélectionner
# ls -al
total 48
drwxr-xr-x 2 sylvain sylvain 4096 sept. 14 22:02 .
drwxr-x--- 7 sylvain 500 4096 sept. 14 13:49 ..
-rw-r--r-- 1 sylvain sylvain 1017 sept. 14 15:58 a1.tar.gz
-rw-r--r-- 1 sylvain sylvain 142 sept. 14 15:58 makefile
-rwxrwxrwx 1 sylvain sylvain 7860 sept. 14 22:02 prestidigitateur
-rw-r--r-- 1 sylvain sylvain 1026 sept. 14 15:48 prestidigitateur.c
-rw-r--r-- 1 sylvain sylvain 3312 sept. 14 22:02 prestidigitateur.o
-rwxr-xr-x 1 sylvain sylvain 7841 sept. 14 22:02 prestidigitateur2
-rw-r--r-- 1 sylvain sylvain 1118 sept. 14 15:47 prestidigitateur2.c
-rw-r--r-- 1 sylvain sylvain 3048 sept. 14 22:02 prestidigitateur2.o
Code : Tout sélectionner
# id
uid=1000(sylvain) gid=1000(sylvain) groupes=3(sys),7(lp),10(wheel),90(network),91(video),92(audio),93(optical),94(floppy),95(storage),100(users),1000(sylvain)
Re: [executable] problème de droit
Publié : lun. 14 sept. 2009, 23:23
par Vinvin
Peut-être s'agit-il d'une erreur dans le programme compilé ?
Par exemple, le code source contient l'instruction « lancer le sous-programme ./machin » :
==> Dans le répertoire /home/sylvain/Documents , ça ne fonctionne pas.
==> Dans le répertoire /usr/bin , ça fonctionne.
Re: [executable] problème de droit
Publié : lun. 14 sept. 2009, 23:26
par syubuntu
non non c'est un programme tout bete , juste un main qui fait des scanf 3 calcul et des printf.
Re: [executable] problème de droit
Publié : lun. 14 sept. 2009, 23:50
par benjarobin
Oui enfin c'est quoi ce 500 dans le ls -a ???
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:01
par syubuntu
j'ai remis mon groupe mais ça ne marche toujours pas
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:08
par benjarobin
Pensons différemment, tu vas créer un fichier texte (un script), dont le nom est test puis le contenu tu met
#!/bin/bash
echo "Bonjour !!!"
Puis chmod a+x test
Puis ./test
Si cela marche pas essaye de déplacer ce fichier un peu de partout, a la racine puis /usr enfin un peu de partout et rapporte nous où cela marche et où cela ne marche pas
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:13
par syubuntu
Code : Tout sélectionner
# ./test.sh
bash: ./test.sh : /bin/bash : mauvais interpréteur: Permission non accordée.
ça marche si je fais
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:15
par benjarobin
Bon ls -l /bin/bash et ls -l /bin/sh
Puis essaye ce script
Un aussi : whereis bash
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:17
par syubuntu
Code : Tout sélectionner
# ls -l /bin/bash
-rwxr-xr-x 1 root root 694072 août 1 13:23 /bin/bash
j'ai le même résultat avec sh, il faut que je spécifie sh avant l 'adresse du script
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:22
par benjarobin
En faite je ne pense pas que ce soit un problème de location de bash car si je fais un script avec un chemin bidon j'ai : bash: ./test2 : /bin/bdash : mauvais interpréteur: Aucun fichier ou dossier de ce type
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:26
par syubuntu
à désolé je n'ai pas vu.
Code : Tout sélectionner
# ls -l /bin/bash
-rwxr-xr-x 1 root root 694072 août 1 13:23 /bin/bash
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 août 1 13:23 /bin/sh -> bash
# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:30
par benjarobin
http://www.google.fr/search?q=%2Fbin%2F ... ch&start=0
Vérifiez les options de montage de votre partition (dans fstab par exemple). L'option noexec empêche l'exécution de binaires. C'est probablement ce qui se passe.
Une solution est effectivement d'utiliser
sh ./configure
Une autre est d'enlever l'option noexec
Ta partition home a été mal monté, voila la seul et unique raison valable
Je peux voir ton /etc/fstab
Pour mon home j'ai ceci : UUID=9cfc6679-7498-4f37-8693-94c258965fc3 /home ext3 defaults 0 0
Re: [executable] problème de droit
Publié : mar. 15 sept. 2009, 00:43
par syubuntu
à parfait merci beaucoup.
j'ai donc remplacer ma ligne
/dev/sda6 /home auto default,user 0 0
par
/dev/sda6 /home auto rw,user,exec,dev,suid,async,auto 0 0
dans mon fstab et maintenant ça fonctionne parfaitement.
a ben je ne sais pas ce qui bloquait chez moi, je pensait que c'était le default mais tu l'as aussi
/dev/sda5 swap swap defaults 0 0
/dev/sda1 / ext3 defaults 0 1
/dev/sda6 /home auto rw,user,exec,dev,suid,async,auto 0 0
l'installateur de archlinux plantait quand je lui demandait d'utiliser ma partition /home donc j'ai du la mettre à la main après l'installation au redémarrage.