#1 Le 01/09/2010, à 18:57
- loumanio
[résolu ] problème d'exécution d'un script
Bonjour tout le monde,
bn j'ai creer un script pour se connecter à une machine windows à distance, voici le script ( c'est vraiment un script ):
rdesktop -f -d le_domain l'ip_de_la_machine
après j'ai changé les permissions d'accès avec : chmod 711 le_nom_de_fichier
en tant que root, j'arrive bien à exécuter le script depuis ma session, mais le problème c'est que les autres utilisateurs ( clients legers pour mon serveur LTSp) ne peuvent pas l'exécuter et un message d'erreur s'affiche.
pourtant, quand je change les permissions en : chmod 755 ça marche bien
le problème c'est que je veut pas que les autres utilisateurs sache l'ip de la machine, je ve juste qu'ils exécutent le script sans le lire.
merci d'avance
Dernière modification par loumanio (Le 07/09/2010, à 14:24)
Hors ligne
#2 Le 01/09/2010, à 20:49
- compte supprimé
Re : [résolu ] problème d'exécution d'un script
Salut,
Je ne vois pas comment ils pourraient exécuter un script dont ils ne peuvent pas lire les instructions.
#3 Le 02/09/2010, à 11:00
- chopinhauer
Re : [résolu ] problème d'exécution d'un script
Bienvenu dans le côté obscur des permissions Linux.
La permission exécutable est suffisante uniquement pour les fichiers binaires et même là elle peut être contournée comme dans:
/lib/ld-linux.so.2 /bin/echo 'Bonjour le monde!'
Pour les scripts ce n'est plus le noyau qui les exécute, mais la librairie C (Edit: après lecture du code du noyau, c'est bien celui-ci qui exécute les scripts, mais ils les gère exactement comme si on tapait 'interpreteur script' au lieu de 'script'). Pour cette raison les scripts exécutables doivent avoir la permission de lecture.
Pour t'en sortir tu dois écrire et compiler un fichier binaire de quelque ligne:
#include <unistd.h>
int main(int argc, char **argv) {
char *param[] = { "rdesktop", "-f", "-d", "le_domain", "l'ip_de_la_machine", NULL};
execvp("rdesktop", param);
return 1; /* Jamais atteint */
}
et le compiler avec gcc ('gcc -o test test.c' fera l'affaire si le code est dans test.c).
Dernière modification par chopinhauer (Le 03/09/2010, à 23:47)
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#4 Le 02/09/2010, à 11:03
- chopinhauer
Re : [résolu ] problème d'exécution d'un script
Je ne vois pas comment ils pourraient exécuter un script dont ils ne peuvent pas lire les instructions.
Tu peux exécuter un binaire sans avoir de permission de lecture dessus. Pour les scripts je suis d'accord avec les développeurs UNIX d'empêcher de lire des scripts inconnus: n'importe qui peut en créer un malvoyant.
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#5 Le 02/09/2010, à 12:08
- compte supprimé
Re : [résolu ] problème d'exécution d'un script
hopimet a écrit :Je ne vois pas comment ils pourraient exécuter un script dont ils ne peuvent pas lire les instructions.
Tu peux exécuter un binaire sans avoir de permission de lecture dessus. Pour les scripts je suis d'accord avec les développeurs UNIX d'empêcher de lire des scripts inconnus: n'importe qui peut en créer un malvoyant.
C'est pour cela que j'avais écrit SCRIPT et non pas BINAIRE.
#6 Le 02/09/2010, à 12:52
- chopinhauer
Re : [résolu ] problème d'exécution d'un script
C'est pour cela que j'avais écrit SCRIPT et non pas BINAIRE.
Disons que moi je ne vois pas pourquoi les scripts ne pourraient pas s'exécuter sans la permission de lecture, les binaires le font. Après il y a des raisons techniques et historiques pour ce genre de comportement…
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#7 Le 02/09/2010, à 14:32
- loumanio
Re : [résolu ] problème d'exécution d'un script
merci à tout le monde et surtout à Mr chopinhauer
ça a bien marché chez moi
waw , enfin j'ai pu protégé l'adresse ip du serveur
merci encore une fois
Hors ligne
#8 Le 02/09/2010, à 15:53
- ehmicky
Re : [résolu ] problème d'exécution d'un script
Avez-vous au moins essayé :
chmod 111 ./SCRIPT && ./SCRIPT
Chez moi, ça marche impèc', je n'ai pas besoin d'avoir les permissions de lecture pour exécuter un script.
Dernière modification par ehmicky (Le 02/09/2010, à 15:54)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#9 Le 02/09/2010, à 17:12
- compte supprimé
Re : [résolu ] problème d'exécution d'un script
Avez-vous au moins essayé :
chmod 111 ./SCRIPT && ./SCRIPT
Chez moi, ça marche impèc', je n'ai pas besoin d'avoir les permissions de lecture pour exécuter un script.
Je viens de tester : avec un chmod 111 sur un script de test j'ai droit à "Permission non accordée" alors qu'avec un chmod 555 ça fonctionne.
@chopinhauer,
Oui au fond tu as raison. Je ne sais pas pourquoi j'étais persuadé qu'il fallait absolument pouvoir lire.
Mais comment tu explique mon exemple donné juste au dessus alors ?
#10 Le 03/09/2010, à 01:01
- ehmicky
Re : [résolu ] problème d'exécution d'un script
# cat script.sh
#!/bin/bash
echo "oh"
# chmod 111 script.sh && ./script.sh
oh
# ls -l script.sh
---x--x--x 1 root root 24 2010-09-03 01:59 script.sh
# logout
$ ./script.sh
/bin/bash: ./script.sh: Permission denied
Le droit de lecture n'est pas nécessaire pour exécuter un script lorsque l'on est root, mais est nécessaire sinon. Dans les deux cas, le droit d'exécution est requis.
Dernière modification par ehmicky (Le 03/09/2010, à 01:05)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#11 Le 03/09/2010, à 08:39
- chopinhauer
Re : [résolu ] problème d'exécution d'un script
waw , enfin j'ai pu protégé l'adresse ip du serveur
Je comprends bien protéger un mot de passe, mais une adresse IP ?
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#12 Le 03/09/2010, à 10:32
- loumanio
Re : [résolu ] problème d'exécution d'un script
chopinhauer
oui c vrai , on peu pas protéger une adresse ip, mais au moins maintenant la personne a besoin de quelque manipulation pour avoir l'adresse ip du serveur, par contre au début , l'adresse était directement visible depuis le fichier.
mais s'il y a une méthode pour bien sécuriser le serveur , je serai très reconnaissant
merci d'avance
Hors ligne
#13 Le 03/09/2010, à 20:24
- chopinhauer
Re : [résolu ] problème d'exécution d'un script
mais s'il y a une méthode pour bien sécuriser le serveur , je serai très reconnaissant
Je ne trouve pas que l'adresse IP soit un paramètre sensible du serveur. La version du serveur, oui, mais le IP c'est une donnée accessoire.
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#14 Le 03/09/2010, à 22:17
- loumanio
Re : [résolu ] problème d'exécution d'un script
chopinhauer
d'accord
merci beaucoup pour votre aide
Hors ligne