Erstellen Sie einen freigegebenen Ordner für VSFTP-gefangene Benutzer in Linux

1595
Noob Doob

Ich möchte etwas tun. Ich habe einen VSFTP-Server eingerichtet und seine Benutzer in "Gefängnis" gesetzt, sodass sie nur an ihrem Heimatverzeichnis suchen können.

Jetzt möchte ich aber noch etwas mehr tun. Ich möchte einen Weg finden, um einen freigegebenen Ordner unter diesen Benutzern zu erstellen, damit jeder von ihnen darin lesen und schreiben kann. Aber ich habe es noch nicht getan. Meine erste Idee war, einen externen Ordner zu erstellen, ihm die richtigen Berechtigungen zu geben und in jedem Basisordner einen Link zu erstellen, damit er darauf zugreifen kann. Der Ordner funktioniert jedoch nicht (Benutzer können immer noch darauf zugreifen, weil sie eingesperrt sind) . Irgendwelche Ideen? Natürlich sollten die Benutzer nicht in der Lage sein, aus dem freigegebenen Ordner nach "oben" zu suchen, genau wie in ihren Heimatverzeichnissen.

1

1 Antwort auf die Frage

1
MolbOrg

Sie können ein verwenden bind mount(8):

mount -o bind /tmp/ftpshare /ftp/jail/user1/share 

als Lösung.

@ Dawud Ist das das einzige, was ich tun muss? Ich habe einen leeren Ordner im Benutzerverzeichnis erstellt, und nachdem ich den Befehl ausgeführt habe, erhalte ich die folgende Fehlermeldung: mount: / tmp / ftpshare ist kein Blockgerät. (Natürlich habe ich die entsprechenden Ordnerpfade meines Systems verwendet). Noob Doob vor 10 Jahren 0
Sie müssen die * bind * -Option verwenden, damit der mount-Befehl die Quelle als Verzeichnis und nicht als Blockgerät verwenden kann. Quell- und Zielverzeichnis müssen vorhanden sein. Das Zielverzeichnis hat dieselbe Benutzergruppe und Berechtigungen wie die Quelle, auch wenn Sie einige davon im Quellverzeichnis ändern - es ändert sich auch das Ziel. Sie können das wie einen Verzeichnis-Hardlink zählen. MolbOrg vor 10 Jahren 0
@dawud muss ich "bind" und NICHT "--bind" verwenden? Vielleicht war es meine ganze Zeit schlecht: P Noob Doob vor 10 Jahren 0
Sie müssen den Befehl mount in der folgenden Form verwenden: ** mount -o bind / source / destination **. NB u kann es mehrmals mit derselben Quelle und verschiedenen Zielen verwenden. MolbOrg vor 10 Jahren 0