web-dev-qa-db-ja.com

SFTPで必要なumaskを配置するにはどうすればよいですか?

SFTPサーバー(openssh/sftp-server)があり、このサービスを使用するユーザーにumask 002を設定したい。ユーザーごとにPAM(pam.d/common-session)と.profileを設定しようとしましたが、うまくいきませんでした。

SSHログインではすべて問題ありませんが、SFTP(gFTPで)を試すと、022 umaskが設定されています。

私はすでに、sftp-serverを呼び出す前にumaskを変更するsftp-serverのラッパーを使用しようとしましたが、うまくいきません。

何か助けは?どうもありがとう!

23
mat_jack1

何時間もかけてさまざまなハックや修正を試みた結果、適切な解決策が見つかりました!

SFTPに必要なumaskを選択できるようにするSSHのパッチがあります。ここからダウンロードできます: http://sftpfilecontrol.sourceforge.net/

私(OpenSSH_5.2p1 + sftpfilecontrol-v1.3、OpenSSL 0.9.8g 2007年10月19日)の場合、完全に機能しています。

2
mat_jack1

OpenSSH 5.4p1以降、「-u」オプションを使用できると思います。次に例を示します。

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

Manページから:

 -u umask
         Sets an explicit umask(2) to be applied to newly-created files
         and directories, instead of the user's default mask.
25
Weboide

これが他の誰かのフラストレーションの時間を節約できることを願っています...

GUI SFTPアプリケーションを使用している場合は、アップロードの権限を設定するための設定を確認してください。

私は上記のすべてのソリューションを試しましたが、アプリケーションがそれらをオーバーライドしていることがわかりました。

7
Malcolm

Ssh構成ファイルでは、これを使用してファイルのモードを具体的に設定することもできます(クライアントが設定しようとするchmodをオーバーライドします)。ここではinternal-sftpを使用していますが、sftp-serverでも同じだと思います。

ForceCommand internal-sftp -u 0022   
2
cloudranger

引用するには このメッセージ

/etc/init.d/sshに「umask 007」行を追加することで、これは問題なく動作しました。

Bashは.profileをインタラクティブログインシェルに使用します。 sftpは1とは見なされません。上記のヒントが機能しない場合、またはより細かい制御が必要な場合は、/etc/bash.bashrcまたは~/.bashrcでumaskを設定できる場合があります。

特定のopensshバージョンやカスタムパッチを必要としない簡単な解決策を見つけるには、 この質問 を参照してください。

0
Unode