Wie lege ich Standardberechtigungen für SFTP für einen Ubuntu-Server fest?


16

Wir haben einen Ubuntu 10.04 Server. Wie kann ich festlegen, dass neue Dateien, die über SFTP oder SSH erstellt (oder kopiert) wurden, über die Berechtigungen g + rw und g + rwx verfügen (sofern zutreffend)?

Ich benutze auch setgid (chmod g + s), damit sie den richtigen Gruppeneigentümer erben.

Antworten:


12

In / etc / ssh / sshd_config können Sie ein Flag und einen Wert in (-u 0002) wie folgt übergeben, um den umask-Wert festzulegen:

Subsystem sftp /usr/lib/openssh/sftp-server -u 0002

Fügen Sie -u 0002 an die vorhandene SFTP-Zeile des Subsystems der Konfigurationsdatei an.

Danach müssen Sie ssh neu starten, damit die Änderungen wirksam werden:

service ssh restart

Dies gilt nur für neuere Versionen von OpenSSH, sollte jedoch nach Möglichkeit die bevorzugte Lösung sein.
Andrew B

2
Dies funktioniert nur, wenn Sie restriktivere Berechtigungen als die vom Client festgelegten benötigen und nicht weniger.
Joost

Wie Joost sagte, hilft dies nicht, Gruppenschreibberechtigungen zu erzwingen. Ich würde helfen, Gruppenschreiben zu verbieten.
Flug

Laut aktueller Dokumentation können die gleichen Optionen mit verwendet werden Subsystem sftp internal-sftp.
Underscore_d

10

Ändern Sie in / etc / ssh / sshd_config Folgendes:

Subsystem sftp /usr/lib/openssh/sftp-server

zu:

Subsystem sftp /bin/sh -c 'umask 0002; exec /usr/libexec/openssh/sftp-server'

Quelle: http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions


1
Es ist besser, eine execvor dem Finale zu platzieren /usr/.../sftp-server, damit Sie keine unnützen shProzesse haben.
Grawity

Auch eine Umask ist nur eine Zahl; 0002kann kürzer geschrieben werden als 02.
Grawity

Ich dachte umask wäre ein Oktal, aber danke für den ausführenden Teil.
wag2639

2
Ja, umasks sind oktal. Das bedeutet nicht, dass Sie drei führende Nullen benötigen - eine ist genug. (Tatsächlich benötigt der umaskBefehl keine führenden Nullen, sondern liest das Argument immer als Oktalzahl.) ... Aber beim zweiten Gedanken ist es vielleicht 0002klarer zu verstehen.
Grawity

2
Das funktioniert bei mir nicht. Die Berechtigung g + w wird nicht erzwungen.
Flug
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.