Précédent   Forum du club des développeurs et IT Pro > Systèmes > Linux > Applications et environnements graphiques
Applications et environnements graphiques Questions sur l'utilisation d'applications et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/11/2012, 17h38   #1
Quarko
Invité régulier
 
Étudiant
Inscription : juin 2012
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 6
Points : 8
Points : 8
Par défaut Binaire : 'Operation Not Permited'

Bonjour,

J'ai créé un script shell basique (hello.sh) que j'ai transformé en fichier binaire via shc.
Petit problème, il est impossible d'exécuter le binaire sans sudo.
J'ai eu beau modifier le propriétaire, les groupes, les droits, et essayer presque toutes les combinaisons : rien à faire !
Toujours la même erreur "operation is not permited" qui disparaît avec l'ajout du sudo.
Quelqu'un pourrait-il m'expliquer quoi faire pour que ce binaire soit exécutable sans ?

Fichier shell :
Code :
1
2
3
4
5
6
7
8
9
10
hello.sh

#!/usr/bin/bash
# programme test

echo "first argument is $1"
echo "second argument is $2"
echo "third argument is $3"

exit 0
Exécution :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
# de shell à fichier binaire
shc-3.8.7/shc -f hello.sh
 
# shc crée hello.sh.x : fichier binaire généré
# /usr/bin est dans le $PATH
sudo mv ./hello.sh.x /usr/bin
 
# test
hello.sh.x 1 2 3
hello.sh.x : Operation not permitted
Processus arrêté
sudo hello.sh.x 1 2 3
first argument is 1
second argument is 2
third argument is 3
Quarko est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2012, 17h54   #2
N_BaH
Modérateur
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 747
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 747
Points : 6 620
Points : 6 620
Bonjour,

et le script ? déplacé au même endroit, a-t-il le même comportement ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2012, 08h57   #3
gangsoleil
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 7 168
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 7 168
Points : 17 956
Points : 17 956
Bonjour,

Est-ce que par hasard tu n'aurais pas cree ton script avec Ultra-Edit sous Windows avant de l'exporter vers Linux ?

Il faut enregistrer le fichier au format Unix depuis ton editeur, ou bien enlever les ^M : (pour obtenir le ^M, appuyer sur ctrl+v, puis sur entree)
Code :
perl -pi -e 's/^M//g' mon_fichier
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 08/11/2012, 10h35   #4
Quarko
Invité régulier
 
Étudiant
Inscription : juin 2012
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 6
Points : 8
Points : 8
Citation:
Envoyé par gangsoleil Voir le message
Bonjour,

Est-ce que par hasard tu n'aurais pas cree ton script avec Ultra-Edit sous Windows avant de l'exporter vers Linux ?

Il faut enregistrer le fichier au format Unix depuis ton editeur, ou bien enlever les ^M : (pour obtenir le ^M, appuyer sur ctrl+v, puis sur entree)
Code :
perl -pi -e 's/^M//g' mon_fichier
Toutes les opérations ont été faites sous Linux avec gedit et vi.

Citation:
Envoyé par N_BaH Voir le message
Bonjour,

et le script ? déplacé au même endroit, a-t-il le même comportement ?
Non. Le script shell fonctionne partout.
Par ailleurs, le binaire lui ne fonctionne nulle part. Même en l'exécutant dans le répertoire ou je l'ai généré, la même erreur survient.
Je commence à croire que c'est un problème avec shc.
Quarko est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2012, 10h49   #5
zipe31
Expert Confirmé Sénior
 
Inscription : janvier 2011
Messages : 1 446
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 1 446
Points : 4 427
Points : 4 427
Salut,

Une piste peut être :

Citation:
Please note that the binary itself is still dependent on the shell (the first line provided in the random.sh. i.e /bin/bash) to be available to execute the script.
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 08/11/2012, 11h57   #6
Quarko
Invité régulier
 
Étudiant
Inscription : juin 2012
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 6
Points : 8
Points : 8
Citation:
Envoyé par zipe31 Voir le message
Salut,

Une piste peut être :
Bonjour,

Je viens de suivre ce tutorial à la lettre et je rencontre exactement la même erreur...
Je précise être sur une machine virtuelle Ubuntu, aucune idée si cela peut avoir une incidence.
Quarko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 15h57   #7
matafan
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 482
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 1 482
Points : 2 438
Points : 2 438
Quels sont les droits de /usr/bin/hello.sh.x ?
matafan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2012, 16h31   #8
Quarko
Invité régulier
 
Étudiant
Inscription : juin 2012
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2012
Messages : 6
Points : 8
Points : 8
Citation:
Envoyé par matafan Voir le message
Quels sont les droits de /usr/bin/hello.sh.x ?
Voir ci-dessous.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
ls -ll | grep "hello.sh.x"
-rwx-wx--x 1 Mr_x Mr_x 10584 nov.   8 11:19 hello.sh.x
 
./hello.sh.x
./hello.sh.x: Operation not permitted
Processus arrêté
 
sudo chmod 777 hello.sh.x
./hello.sh.x
./hello.sh.x: Operation not permitted
Processus arrêté
 
sudo chown root.root hello.sh.x
./hello.sh.x
./hello.sh.x: Operation not permitted
Processus arrêté
Quarko est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/11/2012, 11h41   #9
l4r3nZu
Membre éclairé
 
Avatar de l4r3nZu
 
Homme Laurent Quastana
Ingénieur développement logiciels
Inscription : janvier 2010
Messages : 145
Détails du profil
Informations personnelles :
Nom : Homme Laurent Quastana
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : janvier 2010
Messages : 145
Points : 375
Points : 375
Essaye un VIM du repertoire pour voir si tu n'as pas des ^M dans ton nom de fichier.

Bon courage
l4r3nZu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/11/2012, 11h30   #10
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 610
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 610
Points : 11 065
Points : 11 065
Idée comme ça : est-ce que la partition qui contient le système de fichiers dans lequel tu essaies d'exécuter ton script compilé a elle-même les droits d'écriture ?

Il y a des chances que tu travailles dans /home et que, dans certains cas, celle-ci soit montée avec « noexec », même si c'est une fausse bonne idée.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web