ondevil
Goto Top

proFTPd v1.30 nur für spezielle Benutzer (auf Debian 4 Etch)

Es sollen 5 FTP (ftp only) User eingerichtet werden, Die mit unterschiedlichen Passwörtern nur in in bestimmte Ordner`n Zugriff haben

Hallo,

Ich hab hier ein frisch aufgesetzen (Debian etch 64Bit, Root-Server)

Ein Benutzer wurde angelegt für die Game-Server mit
"useradd gameserver"

Nun laufen 5 GameServer unter diesem Nutzer.

/home/gameserver/games/cs1.6/public
/home/gameserver/games/cs1.6/war1
/home/gameserver/games/cs1.6/war2
/home/gameserver/games/cs1.6/war3
/home/gameserver/games/cs1.6/hltv


proftpd wurde installiert. (mittlerweise aber wieder deaktiviert, weil jeder sich mit seinem normalen System Login einloggen kann)

Nun sollen 5 Personen FTP-Zugriff auf die einzelnen Server bekommen.
Diese 5 FTP Nutzer sollen nur auf die voreingestellten Verzeichnisse kommen bzw. dort eingesperrt sein.

also zum Bsp.:
"ftpuser1" mit Passwort "testtest" soll NUR Zugriff auf das Benutzer Verzeichnis: /home/gameserver/games/cs1.6/public bekommen.

usw.

Ich hab schon viele HowTo`s gelesen komme aber einfach damit nicht zu Recht..
und ein zusätzliches Problem ist:
Der "ftpuser1" soll ja in dem Ordner von System user "gameserver:gameserver" lesen und schreiben dürfen.
Wie macht man das.. wenn "ftpuser1" was hoch lädt soll es ja nachher auch dem System Benutzer "gameserver" gehören

Bitte um Hilfe / Lösungsansätze ...
Komm da leider nicht weiter.

Gruß Alex

Content-Key: 82151

Url: https://administrator.de/contentid/82151

Printed on: April 18, 2024 at 02:04 o'clock

Member: Natureshadow
Natureshadow Mar 03, 2008 at 10:59:06 (UTC)
Goto Top
Hallo,

für den proFTPd kann ich dir so locker aus dem Ärmel keine direkte Lösung geben, aber für den VSFTPd würde ich das wie folgt machen:

Lege eine Gruppe cs16 an, in der zunächst nur der Benutzer gameserver ist. Dann legst du z.B. einen Benutzer cs16public an mit der Gruppe users und der supplementary group cs16 sowie dem Homeverzeichnis /home/hameserver/games/cs1.6/public. Alle Unterverzeichnisse von /home/gameserver/games/cs1.6 chownst du auf gameserver:cs16 und setzt die Rechte 775.

Dann erzählst du deinem FTP-Server, dass er nur Benutzer aus /etc/ftpusers reinlassen soll und jeden Benutzer in sein Homeverzeichnis chrooten soll. In die /etc/ftpusers trägst du nur deine FTP-User ein, in diesem Fall nur cs16public.

Für den vsFTPd könnte ich dir eine Config geben, für proFTPd sollte das aber so ähnlich funktionieren.

Grüße,
Nik
Member: Torben
Torben Mar 03, 2008 at 14:27:27 (UTC)
Goto Top
Hallo ONDevil,
Ja das ist alles machbar, es gibt hier mehrere Lösungsansätze, hier einige davon kurz erläutert.

1. Lösungsansatz:
chroot Umgebung

Du erstellst deine Unix User = (FTP Login User) mit entsprechenden Home Verzeichnissen. Im ProFTPD konfigurierst du die chroot Umgebung, somit landen deine FTP User immer in ihrer gefangenen Root Umgebung nämlich in ihrem Homeverzeichnis und können dort nicht rausbrowsen. Setze in der "proftpd.conf" den Eintrag "RootLogin off" und "RequireValidShell on" und "Defaultroot ~". Da wir eine Login fähige Shell verlangen siehe ("RequireValidShell on") kopieren wir uns eine nicht loginfähige die "/bin/false" nach "/bin/ftpuser". Also "Erde~# cp /bin/false /bin/ftpuser"
Jetzt änderst du mit usermod -s /bin/ftpuser dein UnixUser die Standard Shell für deinen entsprechenden User. (oder gleich bei useradd UnixUsername -m -s /bin/ftpuser)
Das ganze kontrollierts du nun mit Bsp. "less /etc/shells".
Du solltest nun deine Pseudoshell die nicht loginfähig ist sehen. Du kontrollierst außerdem Bsp. "less /etc/passwd". Hier sollte dein erstellter User mit der Pseudo shell "ftpuser" drin stehen.

Probiere nun mit einem ssh Tool ob sich der erstellte FTP User nicht einloggen darf.

Das sollte es gewesen sein, jeder FTP User landet entsprechend in seiner chroot Umgebung.


2. Lösungsansatz: (oder zusätzlich noch zu 1)
Irgend eines oder mehrere erstellte FTP Konto verwenden und alles mit Limit Anweisungen über
die "proftpd.conf" konfigurieren. Wenn du dich mit dem Apache Webserver auskennst sollten dir die Direktiven vertraut sein. Ich kann nur sagen was ich hier schon alles perverses an Zugriffsbeschränkungen mit den Direktiven gebastelt habe. Dazu hast noch die Möglichkeit entsprechende Module (mods) einzubinden und noch mehr zu konfigurieren, jedoch näheres sprengt einfach den Rahmen. (Bsp. diverse auth Mods u.s.w)


3. Jail Root Umgebung > einfach mal googeln

cu,
Member: ONDevil
ONDevil Mar 07, 2008 at 20:59:45 (UTC)
Goto Top
Danke für die Antworten face-smile

Leider hab ich gerade die Zeit nicht es zu testen..
Aber eure Lösungsansätze hören sich gut an.

Und wenn ich es nicht mit proFTPd hinbekomme, teste ich einfach mal das vsFTPd

Ich melde mich dann nochmal falls es nicht klappt.

Gruß Alex