SFTP経由で受信したファイルのデフォルト権限の設定

SFTP経由で受信したファイルのデフォルト権限の設定

SFTP経由で他のシステムからLinux VMのディレクトリにプッシュされたファイルを受け取ります。このファイルには無効な権限がありますu=rw g= o=。しかしu=rw g=rw o=、。

/etc/ssh/sshd_conf次のようにファイル調整を提案する多くの記事を読みました。Subsystem sftp internal-sftp -u 0002OR Subsystem sftp /usr/libexec/openssh/sftp-server -u 0002。としてサーバーを再起動しましたsudo systemctl restart sshd。ただし、この設定を変更しても、受信ファイルのデフォルト権限には影響しません。私は何を逃したことがありませんか?

ベストアンサー1

このsftp-server設定マスクサーバープロセスの場合。 umaskは、サーバープロセスによって生成されたファイルに対するデフォルトの権限に影響します。 SFTPクライアントは明示的なSFTPプロトコルコマンドを送信して権限をオーバーライドし、クライアントが要求したように権限を設定できます。あなたはこれを見ることもできます。

最新バージョンには、sftp-server個々のSFTPプロトコルメッセージを無効にする「-P」オプションがあります。これを使用して、ファイル権限を設定するためにクライアントによって送信されたコマンドを無効にできます。両方のメッセージは「setstat」と「fsetstat」です。これを無効にするには、sftp-serverまたはサブシステム行に追加しますinternal-sftp

Subsystem sftp /usr/libexec/openssh/sftp-server -u 0002 -Psetstat,fsetstat
                                                        ^^^^^^^^^^^^^^^^^^

エラーが発生した場合は、「/usr/libexec/openssh/sftp-server -Qリクエスト」を実行して、サポートされているリクエストの種類を一覧表示してください。エラーが発生すると、SFTPサーバーソフトウェアが古すぎて「-P」オプションをサポートできない可能性があります。

変更したら、SFTPクライアント(ユーザーが使用しているのと同じクライアント)でテストして、変更が意図した効果をもたらし、SFTPクライアントが正しく機能していることを確認する必要があります。

いくつかの文書:

おすすめ記事