Hallo Zusammen
nachdem ich diese Forum sowie Google und Co durchgestöbert haben, und für mich keine Lösung gefunden habe,
habe ich mich entschlossen, mein Problem in diesem Forum vorzustellen.
## User haben keinen Zugriff auf ssmtp ##
Hintergrund:
Ich habe mit 3 Einplatinen-Rechner (Bananpi) und einem XP-Rechner ein Testumgebung mit Debian 7 realisiert.
bestehend aus einem DNS/Web-server, einem Mailserver und 2 Clients (xp/debian7)
Ziel ist es ein absolut minimalistische Umgebung zu bauen, um ein optimale Leistung zu erreichen.
(Debian7 armhf ist direkt über debootstrap erstellt.)
Workflow
Formular -> Mailversandt über ssmtp (Web) -> Mailserver -> Client (Thunderbird)
Als root habe ich kann ich von jedem Rechner alle anderen erreichen (ping/dig/host/nslookup).
Der Webserver hat ein SSL-zertifikat und ist auch erreichbar.
CGi-Scripte können aufgerufen und und solange die Ausgabe auf dem Bildschirm des Client ist, auch verarbeitet und ausgegeben werden.
Soweit ist alles ist alles in Ordnung.
Wenn ich ein Formular verschicken will, kommt die Fehlermeldung mail.domain.de kann nicht gefunden werden.
Nun gut, Fehlersuche
Ich habe diverse Scripte ausprobiert - immer die gleiche Fehlermeldung
Ok - eine Stufe kleiner
Als root kann ich das klassische Testmail vom Web-Rechner versenden, und "pling" taucht es in Thunderbird auf.
# echo "Testing...1...2...3" | ssmtp user0@<domain>.de
versuche ich es als User(www-data/...../..... , wird der Befehl nicht gefunden.
$ echo "Testing...1...2...3" | ssmtp user@<domain>.de
-su: ssmtp: Kommando nicht gefunden.
wenn ich den Pfad hinzu gebe
$ echo "Testing...1...2...3" | /usr/sbin/ssmtp user0@<domain>.de
ssmtp: Cannot open mail.<domain>.de:465
nun zu meinem Anliegen
wie muß Ich Debian einrichten, ohne neue Programme zu installieren
a.) daß ich als User Zugriff auf ssmtp bekomme
b.) das ich den mail.<domain>.de erreichen kann
wie schon beschrieben, als root geht es.
im Voraus schon vielen Dank
Gruß KuLu
ssmtp als root geht als user nicht
-
- Beiträge: 507
- Registriert: 30.12.2016 23:48:51
Re: ssmtp als root geht als user nicht
Warum wird noch Debian Wheezy verwendet? Es sind kaum noch 3 Monate, dann endet der LTS-Support und dann war es das mit Updates.
Und der Grund weshalb ein regulärer Nutzer keinen Zugriff darauf bekommt, liegt an den Dateirechten. Nur Root kann Inhalte von /usr/sbin lesen und ausführen. Das Programm wird unter anderem auch Rootrechte benötigen, da ein regulärer Nutzer auf die Ports 1-1000 keinen Zugriff hat. Lösbar wäre das indem man die Dateirechte von ssmtp via chmod ändert, und Suid-Rechte vergibt, auch wenn das nicht ratsam ist. Man könnte es aber auch dabei belassen, und ssmtp nur als Root ausführen. Sollte es dabei Sicherheitsbedenken geben, ließe sich ssmtp auch isoliert via Sandbox ausführen, indem das Programm zwar mit Rootrechten gestartet wird, jedoch danach wieder seine Privilegien verliert. Gibt es besondere Gründe weshalb ssmtp als regulärer Nutzer gestartet werden soll?
Und der Grund weshalb ein regulärer Nutzer keinen Zugriff darauf bekommt, liegt an den Dateirechten. Nur Root kann Inhalte von /usr/sbin lesen und ausführen. Das Programm wird unter anderem auch Rootrechte benötigen, da ein regulärer Nutzer auf die Ports 1-1000 keinen Zugriff hat. Lösbar wäre das indem man die Dateirechte von ssmtp via chmod ändert, und Suid-Rechte vergibt, auch wenn das nicht ratsam ist. Man könnte es aber auch dabei belassen, und ssmtp nur als Root ausführen. Sollte es dabei Sicherheitsbedenken geben, ließe sich ssmtp auch isoliert via Sandbox ausführen, indem das Programm zwar mit Rootrechten gestartet wird, jedoch danach wieder seine Privilegien verliert. Gibt es besondere Gründe weshalb ssmtp als regulärer Nutzer gestartet werden soll?
Re: ssmtp als root geht als user nicht
breakthewall, ich glaube, du übertreibst da etwas mit deinen Bedenken ...
Aber bei näherer Betrachtung ist das Problem recht interessant.
Debian sagt, die Gruppe "mail" sei nicht dazu gedacht, von Usern direkt genutzt zu werden:
https://wiki.debian.org/SystemGroups
Und dann sagt Debian, man soll Nutzer von ssmtp in die Gruppe "mail" stecken:
https://wiki.debian.org/sSMTP
Ja, was denn nun?
Immerhin bringt Google einen gleich zurück zum debianforum.de:
https://wiki.debianforum.de/Mit_sSMTP_M ... der_leiten
KuLu? Dein Google ist kaputt
Und in Scripten immer mit vollem Pfad!
Aber bei näherer Betrachtung ist das Problem recht interessant.
Debian sagt, die Gruppe "mail" sei nicht dazu gedacht, von Usern direkt genutzt zu werden:
https://wiki.debian.org/SystemGroups
Und dann sagt Debian, man soll Nutzer von ssmtp in die Gruppe "mail" stecken:
https://wiki.debian.org/sSMTP
Ja, was denn nun?
Immerhin bringt Google einen gleich zurück zum debianforum.de:
https://wiki.debianforum.de/Mit_sSMTP_M ... der_leiten
KuLu? Dein Google ist kaputt

Und in Scripten immer mit vollem Pfad!
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: ssmtp als root geht als user nicht
Hallo breakthewall, NAB
danke für die Antwort
Ich hebe dann die Namesauflösung mit hostname geprüft:
hostname, hostname -f, hostname -d
als root
-> wird alles aufgelöst
als "user" in meinem Falle "www-data":
hostname -> i.O
hostname -f -> hostname: name or service not known
hostname -d -> hostname: name or service not known
wenn ich den Pfad dazugebe <etc/hostname> kommt die Meldung /etc/hostname: Permission denied.
Ich habe es auch an einem Desktop-Rechner getesten -> die gleiche Ausgabe
Braekthewall hat die Optionen und die Konsequenzen sehr gut beschrieben.
In Rücksprache mit meinem Kollegen wollen wir nicht in den Rechten herumpfuschen, da wir nicht wissen, welche Löcher wir aufmachen.
Kennt Ihr eine Alternative, wie wir die Formulardaten (www-data) auf dem Webrechner mit ssmtp durchschleifen können?
gruß KuLu
danke für die Antwort
Ich hebe dann die Namesauflösung mit hostname geprüft:
hostname, hostname -f, hostname -d
als root
-> wird alles aufgelöst
als "user" in meinem Falle "www-data":
hostname -> i.O
hostname -f -> hostname: name or service not known
hostname -d -> hostname: name or service not known
wenn ich den Pfad dazugebe <etc/hostname> kommt die Meldung /etc/hostname: Permission denied.
Ich habe es auch an einem Desktop-Rechner getesten -> die gleiche Ausgabe
Braekthewall hat die Optionen und die Konsequenzen sehr gut beschrieben.
In Rücksprache mit meinem Kollegen wollen wir nicht in den Rechten herumpfuschen, da wir nicht wissen, welche Löcher wir aufmachen.
Kennt Ihr eine Alternative, wie wir die Formulardaten (www-data) auf dem Webrechner mit ssmtp durchschleifen können?
gruß KuLu