Hallo zusammen,
ich möchte mittels cat eine Apache2-Conf dynamisch erzeugen, um über ReverseProxy-Einträge in einem VirtualHost gezielt IPCams zu aktivieren oder deaktivieren.
Hierzu baue ich mittels cat aus verschiedenen Text-Schnipseln in der richtigen Reihenfolge eine .conf-Datei zusammen.
sudo visudo:
pi ALL=(ALL) NOPASSWD: ALL
fhem ALL=(ALL) NOPASSWD: ALL
fhem braucht bei mir root-Rechte, weil ich mit pilight über die GPIOs auf 433 Mhz sende (nicht mit dem fhem-modul, sondern direkt über den system-Befehl).
/etc/group (Auszug):
root:x:0:
pi:x:1000:
Vereinfacht führt fhem folgenden System-Befehl aus & startet Apache neu:
sudo cat /home/pi/Apache/text1.txt /home/pi/Apache/text2.txt > /etc/apache2/sites-available/fertige_site.conf
Wenn nun /etc/apache2/sites-available folgende Rechte hat, bekomme ich im FHEM-Log den Fehler "Permission denied".
User: root Group: root 0755
Es funktioniert, wenn ich der Gruppe root und Anyone Schreibrechte einräume.
Gruppe allein reicht nicht, immer noch permission denied.
User: root Group: root 0777
Wie könnte ich FHEM dazu bewegen, dass die .conf-Datei in /etc/apache2/sites-available geschrieben werden kann, ohne dass ich für diesen Pfad Schreibrechte für "Anyone" einräumen muss.
Vielen Dank für eure Antworten,
viele Grüße,
Heiko
sudo verwenden.
Steht dem Befehl cat voran, siehe Beispiel.
Habe schon alles mögliche probiert, z.B. "sudo su -u root cat...", aber das produziert alles nur Fehlermeldungen.
ok mal was anderes. so weit ich mich entsinnen kann ist doch sites-available keine Datei, sondern ein Verzeichnis. Oder ist das bei dir anders. mach mal bitte ein ls -all und poste mal bitte die komplette ausgabe
Zitat von: CoolTux am 11 Juli 2016, 21:30:00
ok mal was anderes. so weit ich mich entsinnen kann ist doch sites-available keine Datei, sondern ein Verzeichnis. Oder ist das bei dir anders. mach mal bitte ein ls -all und poste mal bitte die komplette ausgabe
Das war mein Fehler, soll natürlich heißen:
... > /etc/apache2/sites-available/fertige_site.conf
Habe es in meinem 1. Post korrigiert.
fhem ALL = NOPASSWD: /etc/apache2/sites-available/fertige_site.conf
Probiere mal bitte so. und schaue das alle Verzeichnisse in der Baumstrukture 755 haben. Also /etc dann /etc/apache2/ dann und so weiter
Ok, das probiere ich.
Ok, so funktioniert es, habe einfach die Zeile in visudo angefügt.
Die Pfade waren schon durchgängig 0755.
Muss ich nach Änderungen in visudo den Raspi neu starten?
Update: Hat ohne reboot direkt funktioniert
Wie wäre die Syntax, wenn ich mehrere Dateien so in visudo einfügen will?
Viele Grüße,
Heiko
Mit Komma getrennt einfach hinten dran. Sie wie beim ersten mit ganzem Pfad.