SFTP Nutzer auf Ordner beschränken?
Hi Leute,
ich habe für mich und meine Freunde einen SFTP Server (in Windows) aufgesetzt und möchte nun deren Benutzer so einrichten, dass sie nur auf einen Ordner zugreifen können, den ich für sie erstellt habe (um das ganz für die 3 und mich einfach zu halten).
Kann mir jemand sagen, wie ich das einstellen kann?
2 Antworten
Prinzipiell geht das damit mit folgendem Eintrag in der %programdata%/ssh/sshd_config.
# override default of no subsystems
Subsystem sftp internal-sftp
ForceCommand internal-sftp
ChrootDirectory c:/<ergänze hier wo der Nutzer landen soll>
Ich persönlich würde mir allerdings etwas mehr Gedanken machen, wie eine sichere SSHD_CONFIG aussehen soll und ich würde dann auch testen, dass mit den obigen Einträgen tatsächlich nur ein sftp-Zugang möglich ist. Immerhin "bohrt" die Installation eines OpenSSH Servers ein Loch in die Firewall.
Ja - das gibt es.
Allgemein: https://man.openbsd.org/sshd_config
Windows spezifisch: https://github.com/PowerShell/Win32-OpenSSH/wiki/sshd_config
und sicher vieles mehr.
Joa klar! Du kannst das in Windows ganz einfach mit den Berechtigungen und Zugriffskontrolllisten (ACLs) einrichten. Hier ist eine Anleitung, wie du das machen kannst:
- Zuerst erstelle den Ordner, auf den deine Freunde zugreifen sollen, z.B. "Freunde".
- Rechtsklicke auf den Ordner "Freunde" und wähle "Eigenschaften".
- Gehe zum Tab "Sicherheit".
- Klicke auf "Bearbeiten", um die Berechtigungen zu ändern.
- Klicke auf "Hinzufügen", gib den Benutzernamen deines Freundes ein und klicke auf "Überprüfen", um sicherzustellen, dass der Benutzer gefunden wird. Klicke dann auf "OK".
- Wähle den Benutzer aus, den du hinzugefügt hast, und gib ihm die erforderlichen Berechtigungen. Du möchtest wahrscheinlich "Vollzugriff" verweigern und nur die Berechtigungen setzen, die sie benötigen, z.B. "Lesen" und "Schreiben".
- Klicke auf "OK", um die Änderungen zu speichern.
Auf diese Weise können deine Freunde nur auf den spezifischen Ordner zugreifen, den du für sie freigegeben hast. Mach sicher, dass du die Berechtigungen sorgfältig überprüfst, um sicherzustellen, dass sie nur das tun können, was sie sollen. (Sonst wird es schnell gefährlich).
Hat leider nicht funktioniert, sie sehen immer noch alle Ordner der C Platte.
Habe ich eventuell den Benutzer falsch angelegt ?
(Internet, da ich selbst nicht mehr weiter weiß):
- Stelle sicher, dass der Benutzer, den du für deine Freunde erstellt hast, über die richtigen Berechtigungen verfügt. Du solltest sicherstellen, dass du einen lokalen Benutzer auf deinem Windows-System erstellt hast und nicht nur einen FTP-Benutzer.
- Überprüfe die Berechtigungen des übergeordneten Ordners (normalerweise das Laufwerk, auf dem sich der Ordner befindet). Wenn deine Freunde immer noch alle Ordner sehen können, könnte es sein, dass die Berechtigungen auf einer höheren Ebene zu großzügig sind.
- Vergewissere dich, dass die Benutzerkontensteuerung (UAC) aktiviert ist. UAC kann verhindern, dass Benutzer auf bestimmte Ordner zugreifen, auch wenn die Berechtigungen korrekt konfiguriert sind.
- Überprüfe die Einstellungen deines SFTP-Servers. Es ist möglich, dass der Server so konfiguriert ist, dass er die Berechtigungen ignoriert oder dass er auf eine andere Weise konfiguriert werden muss, um den Zugriff auf bestimmte Ordner zu beschränken.
Ich habe es jetzt in der Config das ChrootDirectory angepasst, läuft nun gut.
Gibt es eine Doku wie ich die Sicherheitseinstellungen konfigurieren kann bzw. was welche Einstellung bewirkt?