Apache neu starten im Bashscript ohne Passwort für root Rechte

  • 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?

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • 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.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • nein, ich meinte das anders.

    Du hast einen Alias APACHE in sudoers angelegt.

    Code
    APACHE = /bin/systemctl restart apache2.service

    Du gibst dann aber als user hund1 im Terminal den Befehl ein:

    Code
    bin/systemctl restart apache2.service

    gib doch im terminal den entsprechenen ALIAS als Befehl ein, also APACHE

  • gib doch im terminal den entsprechenen ALIAS als Befehl ein, also APACHE

    Das geht nicht, da kommt nur "nicht gefunden".

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • 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.

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • 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?

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • die gleiche Domain läuft

    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"?

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • 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.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

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

    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?

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • 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?

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • Abstimmen musst du da eigentlich nichts, kannst für die Subdomain ja ein eigenes Zertifikat ausstellen lassen; arbeite selbst bisher nie mit Wildcard, weil ich solche Probleme damit umgehen kann.

    Aber ja das einfachste wird wohl der cron als root sein, bzw 2 crons restart als root und rsync als user wenn man es aufteilen will.

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • Abstimmen musst du da eigentlich nichts, kannst für die Subdomain ja ein eigenes Zertifikat ausstellen lassen; arbeite selbst bisher nie mit Wildcard, weil ich solche Probleme damit umgehen kann.

    Aber ja das einfachste wird wohl der cron als root sein, bzw 2 crons restart als root und rsync als user wenn man es aufteilen will.

    Naja, dann wird das der Weg sein.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!