Exec() funktioniert nicht!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    mail.sh möchte auf die genannte Datei zugreifen. Dazu hat es kein Recht.

    Wahrscheinlich kann mail.sh nur unter root laufen. Also sorge für Rootrechte (Stichwort sudo) oder schreib mail.sh um.

    Kommentar


    • #17
      habs jetzt mal so probiert:

      exec('/usr/bin/sudo /usr/local/psa/bin/mail.sh -c test@chemnitzer.de',$a,$b);

      jetzt bekomm ich in $b 1 zurück...weiß jemand wo ich die fehlercodes für mail.sh finde?

      Wie umschreiben, da steht nur

      PHP-Code:
      #!/usr/local/psa/admin/bin/php
      <?php
          
      die("The file mail.php is part of Plesk distribution. It cannot be run outside of Plesk environment.\n");
          
      __plesk_loader_pragma__('B');
      ?>
      AÊXd¥Ab«Éäxb9jEW7^t¨B™Ûy+Ä~Ks$S0þ4    õI™Ž€¢Œ*ìŠbàh™"jÌD×BI³€áháÒ”Ç7Mô†[ïpu‚b8B¥Öhx4
      drin. was soll ich da umschreiben?

      Kommentar


      • #18
        Original geschrieben von frankburian
        jetzt bekomm ich in $b 1 zurück...weiß jemand wo ich die fehlercodes für mail.sh finde?
        The file mail.php is part of Plesk distribution.
        Die 1 jetzt kommt aber wahrscheinlich von sudo.

        Kommentar


        • #19
          The file mail.php is part of Plesk distribution. It cannot be run outside of Plesk environment.
          Sag doch eigentlich schon wo das Problem liegt. Was willst du überhaupt machen?
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar


          • #20
            ja, und was könnte hier wieder das problem sein!
            ich google rum, finde zwar oft das problem, aber immer ohne lösung!

            Kommentar


            • #21
              ja, ich habe das gesehen das es so läuft!
              siehe hier...http://download1.sw-soft.com/Plesk/P...unix/ch14.html

              ich will ein pop3-postfach automatisch anlegen!
              ?

              Kommentar


              • #22
                Original geschrieben von tontechniker
                Sag doch eigentlich schon wo das Problem liegt. Was willst du überhaupt machen?
                Das Script von einem PHP-Interpreter ausgeführt, den Plesk selbst mitbringt. Der ignoriert sicher alles vor __plesk_loader_pragma__(). Sonst würde dieses Script ja niemals irgendwas machen außer die().

                Kommentar


                • #23
                  Bloss komisch das in dem Link nix darüber steht. Aber bei meiner Recherche hab ich diesen Einsatz oft gesehen. Bei den ging das aber auch!

                  Kommentar


                  • #24
                    Jaja es geht auch. Schließlich haut es dir "Permission denied" um die Ohren und nicht "outside of Plesk". Auf der Shell gehts ja auch, hast du gesagt. Dann klappts auch mit exec() - du mußt nur die selben Bedingungen schaffen. Der Versuch mit sudo geht schon in die richtige Richtung. Aber so wie du sudo benutzt, kann es nur funktionieren, wenn auch die richtige Konfiguration (Stichwort sudoers) vorhanden ist.

                    Kommentar


                    • #25
                      hab

                      benutzer ALL=(ALL) ALL

                      der datei hinzugefügt. apache mal neugestarten, aber ändern tut sich nix...oder fehlt noch eine einstellung?

                      Kommentar


                      • #26
                        Ist "benutzer" der User, mit dem es auf der Shell klappt?
                        Ist "benutzer" != "root"? Dann mußt du sudo dies mit -u mitteilen.
                        Ist es eigentlich dein Server, bist du root? Dann setz doch einfach die nötigen Permissions (siehe Fehlermeldung oben).

                        OffTopic:
                        Wenn jemand an der Tür klingelt, reißt man nicht gleich die ganze Hauswand weg um ihn reinzulassen.

                        Kommentar


                        • #27
                          Klappt leider auch nicht

                          exec('/usr/bin/sudo -u benutzer /usr/local/psa/bin/mail.sh -c test@domain.de',$a,$b);


                          Ja, bin ist mein eigener Root-Server! Ist aber ganz neu, und muss mich hier noch durchkämpfen!

                          Also sudo liefert immernoch 1 zurück...woran könnte es noch liegen?

                          Kommentar


                          • #28
                            Hast du es mal so auf der Shell versucht? Was wird dort zurückgegeben ein-/aus-/zurückgegeben?
                            Was ergibt exec('whoami', ...)?

                            Kommentar


                            • #29
                              In der Shell wird das Postfach ohne Probleme angelegt!

                              Mit whoami gibt er mir "wwwrun" als nutzer zurück!

                              Wenn ich jetzt

                              exec('/usr/bin/sudo -u wwwrun /usr/local/psa/bin/mail.sh -c test@meinedomain.de',$a,$b);

                              nehme, geht das sudo zwar aber ich bekomme von mail.sh wieder den code 254!?

                              Kommentar


                              • #30
                                ok. ich habs!

                                musste in der sudoers

                                dieses einfügen:

                                wwwrun ALL = NOPASSWD: /usr/local/psa/bin/

                                danke...für eure (deine) Hilfe!

                                Kommentar

                                Lädt...
                                X