LoginSignup
6
8

More than 3 years have passed since last update.

複数の SFTP ユーザーに対しディレクトリ制限をかける際の色々な書き方

Last updated at Posted at 2019-04-25

Web サイトを構築する際、技術的な事にあまり明るくない人でも簡単に更新作業ができるよう、SFTP 専用ユーザーを用意する事も多いと思います。

そのユーザーに対しディレクトリの移動制限をかける際、どのような書き方があるかをまとめました。


よくあるディレクトリ制限の設定方法

軽くググってみると、/etc/ssh/sshd_config に対して以下のように設定する方法がよく紹介されていますが…

1.Match User で直にユーザー名を指定して制限(非推奨)

Match User hoge
    ChrootDirectory /home/hoge/dir
    ForceCommand internal-sftp

Match User fuge
    ChrootDirectory /home/fuge/dir
    ForceCommand internal-sftp

…ユーザーが増えた時の管理の手間を考えると、この方法はあまりオススメできません。


2.Match group で制限

SFTP ユーザー専用のグループ(sftp等) を作成し、Match group を利用して 1 つの設定で済ませるという方法です。

#-- 「sftp」グループに所属する全てのユーザーに対しChrootする
Match group sftp
    ChrootDirectory ~
    ForceCommand internal-sftp

分かりやすい考え方だと思います。


3.Match User のワイルドカードを活用して制限

SFTP ユーザー名には、特定の prefix(sftp-等) を付けるというルールを設け、ワイルドカードを利用して 1 つの設定で済ませるという方法です。

#-- 「sftp-」から始まる全てのユーザーに対しChrootする
Match User sftp-*
    ChrootDirectory ~
    ForceCommand internal-sftp

これはこれでアリだと思います。


マイナーな(?)ディレクトリ制限の設定方法

こういう書き方もできるという事が、あまり紹介されていないようです。

#-- root以外の全てのユーザーに対しChrootする
Match User *,!root
    ChrootDirectory ~
    ForceCommand internal-sftp

使いどころは限られるかもしれませんが、知っておいても損はないのではないでしょうか。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8