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

Servlets/JSP Java Discussion :

Signer un war ou jar


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut Signer un war ou jar
    Bonjour;

    J'ai un problème avec ma servlet , lorsque je souhaite executer un script shell à partir de l'interface en indiquant le path je me retrouve avec l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    access denied (java.io.FilePermission /home/m09be/ScriptShell.sh execute)
    Après avoir testé mon script les droits ... mon problème semble résider dans la signature du war.

    Comment dois je donc procéder pour signer mon fichier war pour me pemettre d'exécuter mon fichier shell qui contient des commandes systèmes ?

    Je ne trouve pas de réel tutoriel sous Linux pour signer mon war. Si quelqu'un avait une indication

    Je suis sous Xunbuntu avec Tomcat 5.5 et netbeans 6.7.1 et JRE 1.6

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Que veux-tu dire par "lorsque je souhaite executer un script shell à partir de l'interface" ?
    Depuis une page dans le browser ou autre chose ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Que veux-tu dire par "lorsque je souhaite executer un script shell à partir de l'interface" ?
    Depuis une page dans le browser ou autre chose ?
    Oui depuis un page html (une servlet). En fait lorsque je me retrouve sur ma page html dans mon navigateur firefox , l'utilisateur entre le passe du script shell qui se trouve sur le serveur pour pouvoir l'exécuter.

  4. #4
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Tu dis avoir testé tes droits pour executer le script Shell sur le serveur.

    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    access denied (java.io.FilePermission /home/m09be/ScriptShell.sh execute)
    Veut dire que ton appli sur le serveur n'a pas le droit d'executer un script.

    J'avais rencontré un problème similaire suite à un redémarage sous une VM des serveurs, un java.exe associé à un serveur dont le userName avait changer (passer en System), ce qui avait eu pour conséquence de perdre les droits d'accès à certains répertoires ainsi que le droit en écriture.

    Il faut donc que tu regardes les droits de la personne qui lance la VM sur ton serveur

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    C'est une limitation de droits dans le security manager de tomcat. Par défaut tomcat démarre sans security manager et cette erreur ne devrais pas se produire. Y a-t-il un raison particulière pour appliquer un security manager sur ton tomcat?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    C'est une limitation de droits dans le security manager de tomcat. Par défaut tomcat démarre sans security manager et cette erreur ne devrais pas se produire. Y a-t-il un raison particulière pour appliquer un security manager sur ton tomcat?
    La raison ? je suis débutante en linux , tomcat et servlet .. C'est quoi le sécurity manager ?

    en tout cas je suis tombée sur une de tes conversations sur le forum et j'ai trafiqué le fichier de configuration 03catalina.policy en rajoutant la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    grant {
    permission java.io.FilePermission "<<ALL FILES>>", "execute";
    };
    Maintenant ma fonction passe mais mon script ne s'execute pas. Mais cette solution n'ai pas satisfaisante vu que j'autorise n'importe qui a executé du code sur le serveur à travers ma servlet.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par link256 Voir le message
    Tu dis avoir testé tes droits pour executer le script Shell sur le serveur.

    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    access denied (java.io.FilePermission /home/m09be/ScriptShell.sh execute)
    Veut dire que ton appli sur le serveur n'a pas le droit d'executer un script.

    J'avais rencontré un problème similaire suite à un redémarage sous une VM des serveurs, un java.exe associé à un serveur dont le userName avait changer (passer en System), ce qui avait eu pour conséquence de perdre les droits d'accès à certains répertoires ainsi que le droit en écriture.

    Il faut donc que tu regardes les droits de la personne qui lance la VM sur ton serveur

    Comment je fais pour regarder les droits de la personne qui lance la VM ?

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Marie.B Voir le message
    Mais cette solution n'ai pas satisfaisante vu que j'autorise n'importe qui a executé du code sur le serveur à travers ma servlet.
    Non ce n'est pas ce que ca dit. Ca dit que ca autorise n'importe quelle webapp déployée sous ton tomcat a exécuter des fichiers. Le fichier policy et le security manager ne voient pas les users de tes webapps, il ne voient que les webapps en elles même. Et donc ils n'appliquent pas de droit spécifique en fonction du user. C'est dans le web.xml que tu précise quels users ont accès à quelle servlet.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Non ce n'est pas ce que ca dit. Ca dit que ca autorise n'importe quelle webapp déployée sous ton tomcat a exécuter des fichiers. Le fichier policy et le security manager ne voient pas les users de tes webapps, il ne voient que les webapps en elles même. Et donc ils n'appliquent pas de droit spécifique en fonction du user. C'est dans le web.xml que tu précise quels users ont accès à quelle servlet.
    Donc si je modifis le fichier web.xml et que je précise l'utilisateur qui a accès a tel servlet. Je n'aurais plus de problème pour l'execution du script ?

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si tu précise quel utilisateur a accès a la servelt, alors seulement celui là aura accès à la servlet. Ca n'aura bien sur aucune influence quand à la capacite de ta servelt à exécuter ou non le script.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Ok merci je vais regarder comment on fait sous netbeans

Discussions similaires

  1. War et Jar - déploiement
    Par abcazerty dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 07/11/2012, 12h46
  2. Réponses: 18
    Dernier message: 13/05/2009, 15h54
  3. Faire un ear comprenant war et jar
    Par mermich dans le forum ANT
    Réponses: 4
    Dernier message: 03/11/2008, 13h55
  4. [Architecture] Couche DAO - WAR ou JAR ?
    Par babalastar dans le forum Persistance des données
    Réponses: 1
    Dernier message: 29/12/2006, 19h25
  5. Différences entre .war, .jar et .ear ?
    Par swirtel dans le forum Langage
    Réponses: 2
    Dernier message: 16/02/2005, 08h53

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