Hallo,
ich platziere das hier mal in Smalltalk da es sich ja nicht direkt auf Debian bezieht sondern eher auf Busybox.
Ich beschäftige mich gerade mit Busybox, eine chroot Umgebung zu bauen und unter dieser soll dann ein FTP-Server laufen aber nicht als "root".
Meine Frage: Wenn ich unter Busybox einen Benutzer anlege, nennen wir ihn "ftpuser" und diesen auch in die gleiche Gruppe hinzufüge, also "ftpuser:ftpuser", läuft dann der FTP-Server als "root" oder als "ftpuser" Benutzer ?
Danke
chroot - Prozess/Server als user laufen lassen
-
- Beiträge: 3792
- Registriert: 26.02.2009 14:35:56
Re: chroot - Prozess/Server als user laufen lassen
Warum soll ein Server nicht als non-root server laufen. Man muss halt einen Port über 1024 verwenden, auf den er lauscht, weil die darunter für Root reserviert sind. Klappt sogar auf dem Telefon. Habe da Debian unter UserLand am laufen und dort den Apache installiert. Lauscht auf Port 8080 und läuft unter meiner Userid absolut problemlos so wie anderes, was Dienste anbietet auch.
Re: chroot - Prozess/Server als user laufen lassen
Wenn du dem FTP-Server danach auch noch explizit sagst, dass er als ftpuser laufen soll (inkl. der Einschränkungen was die Ports < 1024), dann tut er das, das Anlegen von Benutzer und Gruppe allein wird nicht ausreichen.ren22 hat geschrieben:08.04.2020 22:32:38Meine Frage: Wenn ich unter Busybox einen Benutzer anlege, nennen wir ihn "ftpuser" und diesen auch in die gleiche Gruppe hinzufüge, also "ftpuser:ftpuser", läuft dann der FTP-Server als "root" oder als "ftpuser" Benutzer ?
Re: chroot - Prozess/Server als user laufen lassen
Weil die meisten FTP-Server das Rechtemanagement des OS nutzen. Sprich wenn man sich als bluestar per FTP einloggt führt man seine Aktionen auch als blustar aus. Dazu muss der FTP-Server halt als root laufen, denn nur der darf subprozesse als anderer User laufen lassen. Das gleiche glit z.B. für cron. Auch der braucht root rechte, weil er Scripte als anderer User ausführen können muss.pferdefreund hat geschrieben:09.04.2020 08:24:24Warum soll ein Server nicht als non-root server laufen.
Eine eher antike Methode aber hat auch seine vor und Nachteile.
Der Prozess läuft immer mit einer festen UID. (Innerhalb und außerhalb der chroot.) Du musst da stark aufpassen, dass ftpuser in der Busybox die gleiche UID hat wie außerhalb. (Am besten einfach die /etc/passwd kopieren statt den User von Hand anlegen.) Als welche UID der Prozess dann startet hängt von dir ab. Im Normalfall als die die schon der Parent hatte. Du kannst das aber per su ändern. Also z.B. so:läuft dann der FTP-Server als "root" oder als "ftpuser" Benutzer ?
Code: Alles auswählen
su -c ftpserver ftpuser
rot: Moderator wanne spricht, default: User wanne spricht.