Hi
Ich bastele gerade an einer Mailserverlösung komplett in JAVA. Sofern ich einen Apache Tomcat mit einem Daemon wie Taniku oder JSVC mit Pid und Logfiles betreibe. Welche Möglichkeiten habe ich generrel unter Linux den Prozess des Daemons mitsammt Pid und Logfiles sowie Kindprozessen von Root nach einem unpriveligierten User zu verlagern? Hintergrund ist das Ich als Root den Service mitsammt Ports für SMTP. LMTP, IMAP, LDAP unterhalb den 1024 starte. Das sollte aber auf Dauer nicht so bleiben.
Prozessübergabe von Root nach User
- minimike
- Beiträge: 5616
- Registriert: 26.03.2003 02:21:19
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Köln
-
Kontaktdaten:
Prozessübergabe von Root nach User
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft
Re: Prozessübergabe von Root nach User
ok, ich stell es mir zwar jetzt etwas einfach vor, aber ich machs trotzdem mal:
als root unter /var/log/ ein ordner anlegen für deine logs user-rechte ändern, fertig, das selbe nochmal für die pid und das programm selbst, das sollte es eigentlich schon in meinen augen gewesen sein. denn was anderes machen die anderen programme ja auch nicht und deswegen brauchen diese ja auch root-rechte bei der installation.
als root unter /var/log/ ein ordner anlegen für deine logs user-rechte ändern, fertig, das selbe nochmal für die pid und das programm selbst, das sollte es eigentlich schon in meinen augen gewesen sein. denn was anderes machen die anderen programme ja auch nicht und deswegen brauchen diese ja auch root-rechte bei der installation.
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
- bmario
- Beiträge: 1257
- Registriert: 05.09.2007 12:15:47
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dresden
Re: Prozessübergabe von Root nach User
Das war nicht die Frage, der Dienst muss als root gestartet werden, da nur root Ports unterhalb von 1024 öffnen darf. Nachdem das erledigt ist, "droppen" Dienste in der Regel ihre Privilegien. Apache etwa zu www-data.
Minimike, kannst du vlt. mit iptables einfach nen Forward der Port's machen, oder eine andere Art Stellvertreter, so dass die Java-Dienste an Ports >1024 horchen und damit keine root-Rechte beim Start brauchen?
Minimike, kannst du vlt. mit iptables einfach nen Forward der Port's machen, oder eine andere Art Stellvertreter, so dass die Java-Dienste an Ports >1024 horchen und damit keine root-Rechte beim Start brauchen?
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse
als mit viel Mühe nichts zu schaffen. - Laotse
Re: Prozessübergabe von Root nach User
Oder bei Tomcat von root nach tomcat6. Bei Tomcat kann man per authbind auch Ports < 1024 verwenden.bmario hat geschrieben:Das war nicht die Frage, der Dienst muss als root gestartet werden, da nur root Ports unterhalb von 1024 öffnen darf. Nachdem das erledigt ist, "droppen" Dienste in der Regel ihre Privilegien. Apache etwa zu www-data.
Ich habe zwei eigene Serverdienste (OSGI und einen REST-Server), für diese habe ich mir je ein init.d Skript analog tomcat6 erstellt. Beide Server laufen mit eigenen (von mir jeweils angelegten) Usern. Meine Dienste nutzen zwar höhere Ports, wenn man sich das mit authbind im tomcat6 Skript noch abschaut, sollte es aber auch mit niedrigeren Ports funktionieren (denke ich zumindest ).