Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?
@fallout

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

More than 1 year has passed since last update.

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

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

7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
fallout

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
7
Help us understand the problem. What is going on with this article?