Dies mag nicht als Entwicklungsfrage erscheinen, ist es aber im Wesentlichen. Lass mich erklären wie. Unser Hauptentwicklungsschwerpunkt sind dynamische Inhaltsseiten. Einige unserer Kunden haben uns gebeten, ihnen Speicherplatz auf unseren Servern (den sie bezahlen) für ihre alten statischen Inhalte zu gewähren. Um dies zu erreichen, geben wir dem Kunden einen FTP-Account in einer anderen Domain. (Beispiel: Die Kundendomain lautet customer.com, sie haben jedoch über otherdomain.com/customerstatic auf ihre statischen Inhalte zugegriffen.)
Jetzt wollen wir die Sicherheit erhöhen, indem wir Kunden SFTP-Konten auf ihren Linux-Servern zur Verfügung stellen. Ich benutze OpenSSH / SFTP-Server in ihrer Shell-Umgebung, damit sie sich nicht anmelden oder Befehle ausführen können.
Das Problem ist, dass von Natur aus viele Dateisystemdateien standardmäßig vorhanden sind (drwxr-xr-x), was bedeutet, dass jeder Benutzer den Inhalt des Verzeichnisses und möglicherweise einige Dateien lesen kann. Ich halte es nicht für sinnvoll, das gesamte Dateisystem auf -rwxr-x - x umzustellen, da ich nicht weiß, wie viele Systemdateien diese Leseberechtigung benötigen werden.
Hat jemand dieses Problem in der Vergangenheit konfrontiert. Wenn ja, könnten Sie den Weg aufklären?
Vielen Dank
Antworten:
SFTP ist von Natur aus nicht unsicher. Lassen Sie sie in Ihr gesamtes Dateisystem. Sehen Sie sich an, wie Sie den SFTP-Zugriff auf Chroot- Basis aktivieren können , wodurch die Verzeichnisse gesperrt werden, auf die sie zugreifen können, beispielsweise ihre Home-Verzeichnisse, oder wo immer Sie möchten, dass sie hochgeladen werden.
Unter Linux würde ich auf diesen Teil achten (Konfiguration von / etc / ssh / sshd_config):
Dies bedeutet, dass jeder Benutzer in der 'sftponly'-Benutzergruppe auf seine Home-Verzeichnisse beschränkt ist.
Weitere Informationen finden Sie unter dem Link. Lesen Sie auch die Manpage sshd_config. Ich hoffe, das hilft.
quelle
internal-sftp
wenn der Client das SFTP-Subsystem anfordert. Möglicherweise wurde es für die Verwendung des externensftp-server
Programms eingerichtet. Fügen Sie dazu die ZeileSubsystem sftp internal-sftp
im Hauptabschnitt der Konfigurationsdatei hinzu oder ändern Sie sie (nicht unter demMatch
Abschnitt).Dies kann von Interesse sein - http://sublimation.org/scponly/wiki/index.php/Main_Page
Ermöglicht es Ihnen, einige Benutzer auf scp zu beschränken - und sie optional zu chrooten.
quelle
Wenn Sie sagen , „Viele Dateisysteme standardmäßig 755 Berechtigungen sind“, das eigentlich bedeutet , dass der Standard - umask auf 022. gesetzt können Sie diese Standardeinstellung ändern (für neue Dateien) durch die umask auf 027 einstellen, die die Standardberechtigungen 750 machen würden, oder Setzen Sie die Umask auf 007, wodurch die Standardberechtigungen auf 770 gesetzt werden.
quelle
Sie können einen OpenVZ-Server einrichten und dann für jedes Unternehmen einen eigenen kleinen VM-FTP / SFTP-Container erstellen. Dies hält sie alle getrennt und sobald Sie den Dreh raus haben, ist es wirklich praktisch für diese Art von kleinen Dingen.
quelle