Beiträge von harihegen im Thema „Apache neu starten im Bashscript ohne Passwort für root Rechte“

    Die Frage zielte eher darauf ab warum den User benutzen und nicht gleich als root ausführen?

    Dann wird das wohl ein Wildcard Zertifikat sein?

    Gibt es einen Grund warum du nicht einfach auf Server2 selbst ein Zertifikat erstellst?

    Nun, dann muss es eben als root laufen, ich wollte eher so wenig wie möglich irgendwelchen Prozessen mehr Rechte einräumen als notwendig.

    Grund: da müsste ich ja den Lets Encrypt Prozess auf Server 2 auch aufsetzen und beide abstimmen da ja auf Server 1 schon ein Wildcard ausgestellt wird, also warum nicht gleich das benutzen?

    Redest du von unterschiedlichen Subdomains oder wirklich 2 mal die gleiche Domain, weil wie steuerst du diese dann an? Eine Domain kann ja nur auf eine IP verweisen, die dann einem Gerät zugeordnet ist.

    Und warum gerade als "hund1"?

    Unterschiedliche Subdomains, einmal www. und einmal fressnapf., die gehen dann jeweils auf andere IPs, richtig.

    hund1 ist erdachter Benutzer als Beispiel, in Wirklichkeit heißt der Klaus-Siegfried. Ich muss ja irgendwas schreiben damit es Sinn ergibt.

    Magst du mal beschreiben was du eig. erreichen willst? Vielleicht gibt es ja einen viel besseren Weg. Denn ist ist ja prinzipiell gewollt das nicht jeder User einfach so Services steuern kann, da kann man aber auch User berechtigen drauf.

    Ja, gerne.

    Ich brauche die SSL Zertifikate auf 2 entfernten Servern da auf beiden die gleiche Domain läuft. Auf einem Server wird automatisiert alle 3 Monate dieses Lets Encrypt Zertifikat erneuert. Daher kopiere ich alle 3 Monate per rsync das Zertifikat rüber auf den anderen Server. Damit Apache aber auch das neue Zertifikat nutzt muss Apache neu gestartet werden. Daher möchte ich als der user der per cron dieses Bash ausführt auch gleich den Apache neu starten.

    Hab ich da einen Denkfehler?

    Warum führst Du nicht den ALIAS aus, also den Befehl APACHE?

    Du meinst direkt so hier:

    Code
    hund1  ALL=(admin) NOPASSWD: /bin/systemctl restart apache2.service

    geht leider auch nicht.

    Das mit dem Alias habe ich einer früheren Sache entnommen wo es mal darum ging das ein User den Rechner remote herunter fahren können muss, da konnte man reboot, shutdown und halt mit Komma getrennt hinter dem Alias angeben.

    Ich habe ein Batch gebaut in dem am Schluß der Webserver, hier apache, neu gestartet werden muss.

    Das Batch soll als User "hund1" laufen, später per cron.

    Die Methode dem User "hund1" in der sudoers entsprechende Rechte zu geben scheint nicht zu funktionieren.

    Code
    Cmnd_Alias    APACHE = /bin/systemctl restart apache2.service
    # User hund1 darf den Alias APACHE mit Rootrechten ausführen
    hund1 ALL=(admin) NOPASSWD: APACHE


    Wenn ich obiges rein schreibe und dann als User hund1 im Terminal den Befehl

    Code
    /bin/systemctl restart apache2.service

    ausführe, kommt eine Passwortfrage in dieser Form:

    Code
    hund1@webserver:~$ /bin/systemctl restart apache2.service
    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
    Legitimierung ist zum Neustarten von »apache2.service« notwendig.
    Authenticating as: admin
    Password: 

    "admin" ist ein User der vermutlich von Webmin angelegt wurde, weiß ich nicht genau heute jetzt.


    Hat jemand eine andere Idee?