ohne den SSH-Daemon zu verwenden, sozusagen im "Userspace"
Es gibt hier ein Missverständnis. Der SSH-Daemon ist "Userspace", genauso wie jeder andere Netzwerkprotokollserver - er ist nicht unbedingt Teil des Betriebssystems.
Wichtiger noch: Wie Anmeldeinformationen überprüft werden, hat nichts mit dem Vorhandensein eines SSH-Dämons zu tun, sondern mit allem, mit welchem SSH-Dämon Sie arbeiten und wie er programmiert ist. Es gibt nichts, was einen SSH-Dämon zwingt, Systemkonten zu verwenden. es ist die Wahl des Programmierers (obwohl zugegebenermaßen die einzige, die für den täglichen Gebrauch sinnvoll ist).
(Randbemerkung: Dies ist nicht bei allen Netzwerksoftware der Fall.) Zum Beispiel ist der in Windows integrierte SMB-Server Teil des Betriebssystems und kann im Allgemeinen nicht ausgetauscht werden. Glücklicherweise steht Ihre Frage nicht im Zusammenhang mit SMB Windows; es geht um SSH unter Linux.)
Weitermachen:
Ist es möglich, einen SFTP-Server ohne den SSH-Dämon auszuführen
Ja und nein.
SFTP ist für die Verwendung über einen SSH-Transport definiert. Die meisten Clients unterstützen keinen anderen Transport. Eine wichtige Konsequenz ist, dass SFTP über keine eigene Sicherheit (z. B. Authentifizierung oder Verschlüsselung) verfügt - diese Sicherheitsschichten werden während des SSH-Handshakes eingerichtet.
Für SFTP ist jedoch kein spezifischer OpenSSH- Befehl sshd erforderlich, und im Allgemeinen ist kein systemweiter SSH-Daemon mit vollem Funktionsumfang erforderlich. Der komplette Stack kann von einer anderen Software implementiert werden, häufig in einem einzigen Programm.
Mir gefällt nicht, wie die Benutzerkonten des Systems an die Anmeldeinformationen gebunden sind
Bei generischen SSH-Daemons ist die Verwendung von Systemkonten in der Regel nur eine Option, die sinnvoll ist, da der Client über einen interaktiven Shell-Zugriff verfügt, über den alle möglichen externen Programme und Systembefehle ausgeführt werden können. Der SSH-Dienst allein kann keine Trennung zwischen Programmen zulassen, die von verschiedenen Benutzern ausgeführt werden, es sei denn, er erhält Hilfe vom Betriebssystem - und zufälligerweise werden Systemkonten dafür erstellt. Deshalb verwendet OpenSSH Systemkonten und sonst nichts.
Glücklicherweise ist das Obige für FTP-Daemons und dedizierte "SFTP-only" SSH-Daemons kein Problem, da alle FTP / SFTP-Vorgänge intern auf dem Daemon selbst ablaufen und die Isolierung der Benutzer nicht mehr als die sorgfältige Überprüfung der Dateipfade erfordert.
So endlich zu Ihrer Anfrage:
Ich hätte lieber eine separate Konfigurationsdatei, um die zulässigen Benutzer anzugeben: Kennwortkombinationen und den Daemon unter einem Benutzer laufen zu lassen
Dafür gibt es Software. Suchen Sie nach FTP-Servern, die die Authentifizierung "virtueller Benutzer" über eine Datenbank unterstützen. Einige von ihnen sind auch SFTP-fähig, beispielsweise ProFTPd . Die meisten jedoch nur FTP / FTPS.