Help us understand the problem. What is going on with this article?

SFTPでのみアクセスできるユーザーの作成

More than 1 year has passed since last update.

やりたいこと

・外部のエンジニアさんと連携したい
・でもドキュメントルートは見せたくない
・でもソースの再配置とかめんどくさい

実現方法

・sshd_configでsftp専用のユーザーを作成
(bashにはログインさせない)
・sshd_configでchrootでSFTPログイン時のルートディレクトリの変更
(その配下しか見せない)
・chrootのディレクトリ配下に作成したディレクトリをドキュメントルート配下にシンボリックリンクを張る
(chrootの制限としてディレクトリの所有者がroot且つ権限は755で固定=直下にファイルを配置できない)

やる

兎にも角にもユーザーを作成する

groupadd sftp
useradd -g sftp sftp-user1

chroot先のディレクトリを作成する
この時ディレクトリの所有者と権限に注意。
間違った設定をするとログインできないことになる

mkdir /var/www/sftp
chown root /var/www/sftp
chmod 755 /var/www/sftp

次にsshd_configを編集をする
デフォルトならパスはここ→/etc/ssh/sshd_config
最終行にこんな感じで追記する。

Match group  sftp
  ChrootDirectory /var/www/sftp
  ForceCommand internal-sftp

意味合いとしては、sftpグループのユーザーがアクセスしてきたら
ルートディレクトリを/var/www/sftpとすること
sftpアクセスのみでsshでのシェルへのログインは許可しない

sshd -t #コンフィグファイルのチェック 
service sshd reload

※必ず、sshd -tを実行すること。
 sshdが死んだら大変。。。

ここまででSFTP専用ユーザーに対象ディレクトリ配下しか見せない設定は完了
しかし、このままではsftp-userは新たにファイルの配置ができない。
アパッチのドキュメントルートにファイルが無いので、httpで配置したソースも見れない。

なので、/var/www/sftpに新たにディレクトリを切ってそこにシンボリックリンクを張る

#/var/www/sftpで実行
mkdir web_source 
chmod 777 web_souce 
#ドキュメントルートで実行
ln -s /var/www/sftp/web_souce ./web_souce

これでドキュメントルートの配下に"/var/www/sftp/web_souce"へのシンボリックリンク
"web_souce"が作成される。

最後にhttpd.confのFollowSymlink?みたいなやつが設定されていれば
アパッチからweb_sourceが見れるはず。

以上。

kenta8813
大したこと書きません 自分用メモとして残していきます。 もし、誰かの役に立てば幸いです
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした