Ich habe einen SFTP-Server (openssh / sftp-server) und möchte umask 002 für Benutzer einrichten, die diesen Dienst nutzen. Ich habe versucht, PAM (pam.d / common-session) und .profile für jeden Benutzer festzulegen, aber kein Glück.
Mit SSH Login ist alles in Ordnung, aber wenn ich es mit SFTP (mit gFTP) versuche habe ich die 022 umask gesetzt.
Ich habe bereits versucht, einen Wrapper für den SFTP-Server zu verwenden, der die Umask ändert, bevor der SFTP-Server aufgerufen wird.
Irgendeine Hilfe? Vielen Dank!
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Ich hoffe, das kann jemand anderem Stunden der Frustration ersparen ...
Wenn Sie eine GUI-SFTP-Anwendung verwenden, überprüfen Sie deren Einstellungen zum Festlegen von Berechtigungen für das Hochladen.
Ich hatte alle oben genannten Lösungen ausprobiert und es stellte sich heraus, dass die Anwendung sie nur überschrieb.
quelle
Nach stundenlangen Versuchen, verschiedene Hacks und Fixes anzuwenden, habe ich eine passende Lösung gefunden!
Es gibt einen Patch für SSH, mit dem Sie die für SFTP gewünschte umask auswählen können. Sie können es hier herunterladen: http://sftpfilecontrol.sourceforge.net/
Für mich (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g, 19. Oktober 2007) funktioniert es perfekt!
quelle
In der ssh-Konfigurationsdatei können Sie hiermit auch den Modus der Datei spezifisch festlegen (indem Sie jedes vom Client möglicherweise festgelegte chmod überschreiben). Hier verwende ich Internal-SFTP, aber ich denke, es wäre das gleiche für SFTP-Server:
quelle
So zitieren Sie diese Nachricht :
Bash verwendet die
.profile
für interaktive Login-Shells. Ich denke nicht, dass diessftp
einer ist. Möglicherweise können Sie die umask einstellen,/etc/bash.bashrc
oder~/.bashrc
wenn der obige Tipp nicht funktioniert, oder Sie möchten eine feinkörnigere Steuerung.quelle
In dieser Frage finden Sie eine einfache Lösung, für die weder bestimmte OpenSh-Versionen noch benutzerdefinierte Patches erforderlich sind.
quelle