Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/12/2012, à 19:30

Veig22

Impossible de rendre un .sh exécutable [Résolu]

Pitié !!!

J'ai tourné toute la journée sur les forums sans trouver de réponses. Je ne suis pas calé et pas mal de forums me passent au-dessus de la tête sad

Voila mon problème : j'ai utilisé disk-manager pour que mes DD ntfs se montent automatiquement. J'ai réussi (je ne sais pas comment) à trouver comment faire pour pouvoir tout simplement écrire et effacer dessus. Maintenant je veux rendre un .sh exécutable, je fais clic droit sur le fichier, je coche la case et puis elle se décoche ! J'ai essayé plein de manip sans succès.

Je suis sous Xubuntu depuis 3 mois, et par moment j'en peux plus. Votre aide sera la bien venue. Merci smile

Dernière modification par Veig22 (Le 17/12/2012, à 13:47)

Hors ligne

#2 Le 16/12/2012, à 19:35

f.x0

Re : Impossible de rendre un .sh exécutable [Résolu]

Bonjour Veig22,

sur quel disque est installé ton fichier .sh ???

postes également le résultat de (à écrire dans un terminal)

cat /etc/fstab

SOPI

Hors ligne

#3 Le 16/12/2012, à 19:52

Veig22

Re : Impossible de rendre un .sh exécutable [Résolu]

Bonsoir f.x0,

Le fichier .sh est installé sur le DD interne en ntfs suivant : /media/Donnees\040(Sata). Ce que je ne comprend pas c'est que quand je le met sur mon DD en EXT4 je n'ai pas de problème pour l'exécuter. Voici le résultat de la commande :

herve@herve-775V88:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc    /proc    proc    nodev,noexec,nosuid    0    0
#Entry for /dev/sdb5 :
UUID=1c2122ff-f1a2-48ba-8bdc-5e32ef146920    /    ext4    errors=remount-ro    0    1
#Entry for /dev/sdc1 :
UUID=B8D42EA0D42E60BC    /media/Donnees\040(Pata)    ntfs-3g    defaults,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,dmask=0077,fmask=0177    0    0
#Entry for /dev/sda1 :
UUID=38FAF7BAFAF7728C    /media/Donnees\040(Sata)    ntfs-3g    defaults,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,dmask=0077,fmask=0177    0    0
#Entry for /dev/sdb6 :
UUID=873ac0e1-930a-4c74-ac4e-1fbf5d423f74    none    swap    sw    0    0
/dev/fd0    /media/floppy0    auto    rw,user,noauto,exec,utf8    0    0

Hors ligne

#4 Le 16/12/2012, à 19:56

Gemnoc

Re : Impossible de rendre un .sh exécutable [Résolu]

Veig22 a écrit :

Le fichier .sh est installé sur le DD interne en ntfs suivant : /media/Donnees\040(Sata). Ce que je ne comprend pas c'est que quand je le met sur mon DD en EXT4 je n'ai pas de problème pour l'exécuter.

Hé ben voilà.

http://doc.ubuntu-fr.org/systeme_de_fic … 32_et_ntfs

@ f.x0 désolé de te voler le punch wink

Dernière modification par Gemnoc (Le 16/12/2012, à 19:56)

Hors ligne

#5 Le 16/12/2012, à 19:58

f.x0

Re : Impossible de rendre un .sh exécutable [Résolu]

Essaies ceci :
tapes

gksudo gedit /etc/fstab

et modifies cette ligne

UUID=38FAF7BAFAF7728C    /media/Donnees\040(Sata)    ntfs-3g defaults,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,dmask=0077,fmask=0177    0    0

en la remplaçant par

UUID=38FAF7BAFAF7728C    /media/Donnees\040(Sata)    ntfs-3g    exec,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,dmask=0077,fmask=0177    0    0


Enregistres ton fichier
quittes gedit

redémarres ton PC
puis essaies de rendre ton fichier .sh exécutable


SOPI

Hors ligne

#6 Le 16/12/2012, à 20:29

Veig22

Re : Impossible de rendre un .sh exécutable [Résolu]

Merci de vos réponses,

J'ai modifié le fichier fstab comme tu m'as dis, j'ai redémarré le PC, rien ne change... Quand à ta page, Gemnoc, je n'ai rien trouvé qui puisse m'aider, mais je commence à ne plus comprendre ce que je lis à force wink

Hors ligne

#7 Le 16/12/2012, à 20:39

Gemnoc

Re : Impossible de rendre un .sh exécutable [Résolu]

En fait j'ai posté le lien à titre informatif. Le texte indique que le système de fichiers ntfs ne supporte pas la gestion des droits UNIX. Pour ma part je croyais que l'exécution d'un script sur une telle partition est donc impossible, mais si f.x0 t'aide à trouver une solution, tant mieux.

Par curiosité, pourquoi faut-il absolument que ton script soit sur une partition ntfs, si tu peux le copier sur une partition linux où ça fonctionne ?

Hors ligne

#8 Le 16/12/2012, à 20:40

tiramiseb

Re : Impossible de rendre un .sh exécutable [Résolu]

Veig22 a écrit :

Quand à ta page, Gemnoc, je n'ai rien trouvé qui puisse m'aider, mais je commence à ne plus comprendre ce que je lis à force wink


« Il n'est pas possible de modifier les permissions ou les propriétés d'un fichier ou d'un dossier situé dans un système de fichiers NTFS ou FAT32. »

C'est clair pourtant, non ?


PS : "Quant", pas "Quand"

Hors ligne

#9 Le 16/12/2012, à 20:42

Gemnoc

Re : Impossible de rendre un .sh exécutable [Résolu]

Oui, mais ensuite il est indiqué

La doc a écrit :

Le seul moyen de changer ce comportement est de démonter le système de fichiers puis le remonter avec des options de montage différentes.

Ce qui laisse supposer que c'est possible avec les bonnes options de montage...

Hors ligne

#10 Le 16/12/2012, à 20:51

tiramiseb

Re : Impossible de rendre un .sh exécutable [Résolu]

Peut-être que l'option umask peut t'aider

Hors ligne

#11 Le 16/12/2012, à 21:17

Haleth

Re : Impossible de rendre un .sh exécutable [Résolu]

Si je ne m'abuse:
le flag exec du mount permet juste d'executer des programmes sur le disque

Un binaire ne pourra pas être executé sans ce flag

Pour ton problème, un idée peut-être de faire comme ceci:

bash ./machin.sh

Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#12 Le 16/12/2012, à 21:18

Gemnoc

Re : Impossible de rendre un .sh exécutable [Résolu]

Haleth

Marrante ta signature lol

Hors ligne

#13 Le 16/12/2012, à 21:47

tiramiseb

Re : Impossible de rendre un .sh exécutable [Résolu]

Haleth a écrit :

Si je ne m'abuse:
le flag exec du mount permet juste d'executer des programmes sur le disque

Un binaire ne pourra pas être executé sans ce flag

Exact. Ce flag est activé par défaut.
Mais il faut tout de même que les fichiers soient marqués exécutables au niveau des droits.

Pour ton problème, un idée peut-être de faire comme ceci:

bash ./machin.sh

Oui pour un script c'est tout à fait faisable !

Possible aussi de simplifier un peu cette commande :

bash machin.sh

Hors ligne

#14 Le 16/12/2012, à 21:51

Haleth

Re : Impossible de rendre un .sh exécutable [Résolu]

J'ai fait des test
Donc en effet, les droits UNIX n'existent pas en NTFS (jusque la rien de neuf  smile )
Il semble (chez moi du moins), que les droits sont en 777 par défaut:

14% [alex:/media/Elements]cat test.sh 
#!/bin/bash
echo "ok"
18% [alex:/media/Elements]ll test.sh 
-rwxrwxrwx 1 root root 22 déc.  16 21:49 test.sh*
18% [alex:/media/Elements]chmod -x test.sh 
20% [alex:/media/Elements]ll test.sh 
-rwxrwxrwx 1 root root 22 déc.  16 21:49 test.sh*
20% [alex:/media/Elements]./test.sh 
ok

Donc du coup, le chmod ne sert à rien

PS: j'ai regardé les opts de mount, y'a rien qui semble justifier ceci
Du coté de fuse peut-être

Dernière modification par Haleth (Le 16/12/2012, à 21:53)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#15 Le 16/12/2012, à 21:55

pge

Re : Impossible de rendre un .sh exécutable [Résolu]

Bonsoir,

Tu peux essayer de monter ton disque manuellement avec cette ligne (c'est ce que j'utilise pour éxécuter des appli depuis une clé USB ... et ça fonctionne !) :

sudo mount  -t ntfs-3g -o rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,exec,flush /dev/sdbx /media/ton_point_de_montage

Si ça fonctionne, tu n'as plus qu'à l'intégrer dans ton /etc/fstab ...

Hors ligne

#16 Le 17/12/2012, à 13:41

Veig22

Re : Impossible de rendre un .sh exécutable [Résolu]

Merci à tous de vos réponses.

J'ai testé vos solutions. Effectivement pge grâce à tes options mon fichier .sh est bien exécutable sur mon DD ntfs !  J'ai donc modifié le fstab en conséquence. Je ne pensais pas que cette simple opération serait aussi compliquée, sinon j'aurai placé directement mon .sh sur ma partition EXT4. Mais j'ai horreur quand mon PC me résiste smile Ça ne fait que 3 mois que j'ai quitté Windows et j'avoue que certains points restent encore très nébuleux sur Xubuntu, et je n'ai pas toujours le temps de lire la doc comme il faudrait.

En tout cas un grand merci pour votre réactivité et vos conseils !!!

Hors ligne

#17 Le 17/12/2012, à 18:25

pge

Re : Impossible de rendre un .sh exécutable [Résolu]

Bonsoir,

content que ça fonctionne pour toi aussi ...
La source pour info : Chmod d'un executable sur support amovible [Résolu]

Hors ligne