🌰

SFTPでumaskを000に変更する

2023/10/18に公開

はじめに

SFTPでumaskを必ず000で動作させる設定を行う必要があったので実施しました。

SSHDの設定の変更

変更の対象ファイル・・・/etc/ssh/sshd_config

変更前

# override default of no subsystems
Subsystem       sftp    /usr/lib/openssh/sftp-server

変更後

# override default of no subsystems
Subsystem       sftp    /usr/lib/openssh/sftp-server -u 000

設定の反映

  • systemctl reload sshdで設定は更新される。
  • すでに接続済みのコネクションは変更されないので、一回接続を切断して再接続して貰う必要がある。
  • 次のようにps -ef | grep sshで確認できる。
ubuntu    566  565  0 Oct22 ?        00:00:06 /usr/lib/openssh/sftp-server -u 000

sedでの設定修正・Ubuntuの場合

sed -i 's!^Subsystem\s*sftp\s*/usr/lib/openssh/sftp-server$!Subsystem\tsftp\t/usr/lib/openssh/sftp-server -u 000!g' /etc/ssh/sshd_config
  • デフォルト状態のみ想定手動調整されているとマッチしない
  • $をつけないと繰り返すと増えていくので注意

その他

  • sedの区切り文字は/以外でも利用できる。
  • !や@などでも可能なので/を含む場合は!をつかっています。
  • 最初の文字で自動で判別してくれるとのこと

Discussion