linuxサーバーにてsftpユーザーに対してumaskを設定する方法

問題の背景

 サーバーにSSH接続せずに作業するユーザーが複数いて、ファイルを共同で編集するという環境下において、ファイルをアップロードした際にデフォルトのパーミッションを設定しておかないと、いちいちroot権限を引っ張り出して対応しなければならなくなる。
 sftpユーザーへのumask設定は、ssh接続をするユーザーへのumask設定とはやり方が異なる。
 やりたい動きとしては、複数のsftpユーザーがそれぞれにアップロードしたファイルを、全てのユーザーが編集できるようにしたい、ということ。

問題

umaskの設定はetc/profileに記載してもsftpユーザーには効かない

対応

sshd_configにsftp用のumaskを設定する

権限が緩くなる設定なので、対象は指定したgroupに属するユーザーにのみとする

/etc/ssh/sshd_config

Subsystem sftp internal-sftp -u 002

Match Group sftp-user
ForceCommand internal-sftp -u 002

sshdの再起動

service sshd restart

sftp-userでのアップロード確認

アップロード後の権限は以下の通り

フォルダ:775
ファイル:664

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です