[postfix-users] Postfix Scripte chrooted betreiben?
![](https://secure.gravatar.com/avatar/9be9dc7cdee8d85a6946e7f9e194df57.jpg?s=120&d=mm&r=g)
Hallo zusammen,
ich wollte mal bei mir den Postfix auf chroot umstellen, was soweit (fast) alles geklappt hat. Probleme habe ich bei meinem autoreply Script welche in master.cf folgendermassen definiert ist << autoreply unix - n n - - pipe flags= user=nobody argv=/etc/postfix/autoreply/autoreply.test ${sender} ${mailbox}
wenn in den auf chroot 'y' setze resp den default Wert nutze, dann knallt mir das Log folgendes um die Ohren << Dec 10 12:23:58 mail postfix/pipe[11506]: fatal: get_service_attr: unknown username: nobody
Also kann scheinbar der Prozess ned den User in /etc/passwd verifizieren. Ist ja auch logisch, das File gibt es ja ned im chroot. Nur wie kann ich denn dem Prozess die Abfrage der lokalen User zugänglich machen, ohne gleich passwd in den chroot zu kopieren? Und eine zweite Frage hätte ich gleich auch noch ;-) Muss denn autoreply.test ebenfalls innerhalb des chroot erreichbar sein oder wird das einmal beim Start eingelesen (wenn der Prozess noch nicht chrooted ist)?
Danke für Eure Hilfe und ein schönes Weekend
tobi
![](https://secure.gravatar.com/avatar/9be9dc7cdee8d85a6946e7f9e194df57.jpg?s=120&d=mm&r=g)
On 10.12.2011 12:39, tobi wrote:
Hallo zusammen,
ich wollte mal bei mir den Postfix auf chroot umstellen, was soweit (fast) alles geklappt hat. Probleme habe ich bei meinem autoreply Script welche in master.cf folgendermassen definiert ist << autoreply unix - n n - - pipe flags= user=nobody argv=/etc/postfix/autoreply/autoreply.test ${sender} ${mailbox}
wenn in den auf chroot 'y' setze resp den default Wert nutze, dann knallt mir das Log folgendes um die Ohren << Dec 10 12:23:58 mail postfix/pipe[11506]: fatal: get_service_attr: unknown username: nobody
Also kann scheinbar der Prozess ned den User in /etc/passwd verifizieren. Ist ja auch logisch, das File gibt es ja ned im chroot. Nur wie kann ich denn dem Prozess die Abfrage der lokalen User zugänglich machen, ohne gleich passwd in den chroot zu kopieren? Und eine zweite Frage hätte ich gleich auch noch ;-) Muss denn autoreply.test ebenfalls innerhalb des chroot erreichbar sein oder wird das einmal beim Start eingelesen (wenn der Prozess noch nicht chrooted ist)?
Danke für Eure Hilfe und ein schönes Weekend
tobi _______________________________________________ postfix-users mailing list postfix-users@de.postfix.org http://de.postfix.org/cgi-bin/mailman/listinfo/postfix-users
Kommando zurück: Ich kann das Teil bei mir gar ned chroot laufen lassen. Das Script greift noch auf weitere Dateien ausserhalb des postfix chroot zu. Also würde es auch ned gehen wenn nobody verfifiziert werden könnte. Da hatte ich wohl meinen Code nicht mehr richtig im Kopf ;-)
Gruss
tobi
![](https://secure.gravatar.com/avatar/267565c6ab7816fe29beedf9a9cbcd44.jpg?s=120&d=mm&r=g)
* tobi tobster@brain-force.ch:
Dec 10 12:23:58 mail postfix/pipe[11506]: fatal: get_service_attr: unknown username: nobody
Keine /etc/passwd im chroot
zugänglich machen, ohne gleich passwd in den chroot zu kopieren?
Nur so. Aber sie kann ja "gekürzt" sein
grep nobody /etc/passwd > /var/spool/postfix/etc/passwd
Und eine zweite Frage hätte ich gleich auch noch ;-) Muss denn autoreply.test ebenfalls innerhalb des chroot erreichbar sein
ja
oder wird das einmal beim Start eingelesen (wenn der Prozess noch nicht chrooted ist)?
Da ist der Prozess schon chrooted.
![](https://secure.gravatar.com/avatar/9be9dc7cdee8d85a6946e7f9e194df57.jpg?s=120&d=mm&r=g)
On 10.12.2011 14:12, Ralf Hildebrandt wrote:
Dec 10 12:23:58 mail postfix/pipe[11506]: fatal: get_service_attr: unknown username: nobody
Keine /etc/passwd im chroot
zugänglich machen, ohne gleich passwd in den chroot zu kopieren?
Nur so. Aber sie kann ja "gekürzt" sein
grep nobody /etc/passwd> /var/spool/postfix/etc/passwd
Und eine zweite Frage hätte ich gleich auch noch ;-) Muss denn autoreply.test ebenfalls innerhalb des chroot erreichbar sein
ja
oder wird das einmal beim Start eingelesen (wenn der Prozess noch nicht chrooted ist)?
Da ist der Prozess schon chrooted.
Hallo
ich habe es jetzt mal ein bissl weiterprobiert. Rein aus Neugier ob ich's hinkriege ;-) Nun steh ich aber schon wieder an: Habe die passwd im chroot mit nobody erstellt und die Script Files auch in den chroot kopiert. Dann den "Dienst" im master.cf auf chroot y gestellt und postfix neugestartet. Dann haut mir aber postfix ne Meldung raus wo ich ned schlau werde: << ... status=deferred (temporary failure. Command output: pipe: fatal: pipe_command: execvp /etc/postfix/autoreply/autoreply.test: No such file or directory
das File ist aber definitiv vorhanden. << ls /var/spool/postfix/etc/postfix/autoreply/ autoreply.html autoreply.txt test_mail.txt autoreply.test
imho sollte eigentlich alles da sein wo es sein sollte.
Danke für jeden Tipp Gruss
tobi
![](https://secure.gravatar.com/avatar/267565c6ab7816fe29beedf9a9cbcd44.jpg?s=120&d=mm&r=g)
* tobi tobster@brain-force.ch:
<< ... status=deferred (temporary failure. Command output: pipe: fatal: pipe_command: execvp /etc/postfix/autoreply/autoreply.test: No such file or directory
das File ist aber definitiv vorhanden. << ls /var/spool/postfix/etc/postfix/autoreply/ autoreply.html autoreply.txt test_mail.txt autoreply.test
imho sollte eigentlich alles da sein wo es sein sollte.
mach mal "ldd /etc/postfix/autoreply/autoreply.test"
![](https://secure.gravatar.com/avatar/9be9dc7cdee8d85a6946e7f9e194df57.jpg?s=120&d=mm&r=g)
On 10.12.2011 14:54, Ralf Hildebrandt wrote:
<< ... status=deferred (temporary failure. Command output: pipe: fatal: pipe_command: execvp /etc/postfix/autoreply/autoreply.test: No such file or directory das File ist aber definitiv vorhanden. << ls /var/spool/postfix/etc/postfix/autoreply/ autoreply.html autoreply.txt test_mail.txt autoreply.test imho sollte eigentlich alles da sein wo es sein sollte.
mach mal "ldd /etc/postfix/autoreply/autoreply.test"
ldd /etc/postfix/autoreply/autoreply.test not a dynamic executable
Meinst du der Fehler kommt eher daher dass ein Kommando ned gefunden wird und nicht weil postfix das File an sich nicht findet? Das ganze ist ein Bashscript. Kommt das weil natürich /bin/bash ned im chroot ist? Ich glaub ich mach wieder chroot 'n' bei meinem Script. Der Rest von Postfix funzt ja wunderbar mit chroot :-)
Danke und Gruss
tobi
![](https://secure.gravatar.com/avatar/267565c6ab7816fe29beedf9a9cbcd44.jpg?s=120&d=mm&r=g)
* tobi tobster@brain-force.ch:
ldd /etc/postfix/autoreply/autoreply.test not a dynamic executable
OK, dann brauchst du natürlich auch den Interpreter im chroot, dessen Libs und und und-
Meinst du der Fehler kommt eher daher dass ein Kommando ned gefunden wird und nicht weil postfix das File an sich nicht findet? Das ganze ist ein Bashscript. Kommt das weil natürich /bin/bash ned im chroot ist?
SSo ist es.
Ich glaub ich mach wieder chroot 'n' bei meinem Script. Der Rest von Postfix funzt ja wunderbar mit chroot :-)
Absolut. Man kommt vom 100. in 1000.
![](https://secure.gravatar.com/avatar/9be9dc7cdee8d85a6946e7f9e194df57.jpg?s=120&d=mm&r=g)
On 10.12.2011 15:26, Ralf Hildebrandt wrote:
ldd /etc/postfix/autoreply/autoreply.test not a dynamic executable
OK, dann brauchst du natürlich auch den Interpreter im chroot, dessen Libs und und und-
Meinst du der Fehler kommt eher daher dass ein Kommando ned gefunden wird und nicht weil postfix das File an sich nicht findet? Das ganze ist ein Bashscript. Kommt das weil natürich /bin/bash ned im chroot ist?
SSo ist es.
Ich glaub ich mach wieder chroot 'n' bei meinem Script. Der Rest von Postfix funzt ja wunderbar mit chroot :-)
Absolut. Man kommt vom 100. in 1000.
Sorry wenn ich mich blöd anstelle, aber den habe ich ned verstanden :-) Ich könnte ja den Interpreter und alle nötigen Kommandos/Programme auch in den chroot schmeissen, nur habe ich dann einen riesigen chroot ;-) Oder sprechen da sicherheitstechnisch Gründe dagegen, wenn ich das autoreply Script ned chroot habe?
Gruss
tobi
p.s. euer Buch ist echt eine wahre Goldgrube für mich. Top Arbeit :-)
![](https://secure.gravatar.com/avatar/267565c6ab7816fe29beedf9a9cbcd44.jpg?s=120&d=mm&r=g)
Sorry wenn ich mich blöd anstelle, aber den habe ich ned verstanden :-) Ich könnte ja den Interpreter und alle nötigen Kommandos/Programme auch in den chroot schmeissen, nur habe ich dann einen riesigen chroot ;-)
Richtig.
Oder sprechen da sicherheitstechnisch Gründe dagegen, wenn ich das autoreply Script ned chroot habe?
So schlimm ist das auch nicht.
participants (2)
-
Ralf Hildebrandt
-
tobi