備忘録

備忘録

Linuxで任意ディレクトリだけアクセス可能なユーザーを作成する方法

Ⅰ. はじめに

タイトルの通り「Linuxで特定ディレクトリだけ参照可能なユーザーを作成する方法」です。

Ⅱ. 手順

1. 新規ユーザーを作成する
useradd user001
2. パスワードを設定する
passwd user001
3. ホームディレクトリを作成する
mkdir /home/user001
4. 任意ディレクトリの権限を変更する
chmod 777 /root/test001 --recursive
5. 任意ディレクトリを別ディレクトリにバインドする
mkdir /home/user001/test002
mount --bind /root/test001 /home/user001/test002

# ls すると /root/test001 の内容が確認できる
# ls /home/user001/test002/
# 001.txt
6. OS再起動時に自動的にバインドするように設定する
vim /etc/fstab
/root/test001 /home/user001/test002 none bind 0 0
7. sshd_configを編集する
vim /etc/ssh/sshd_config

# ファイル末尾に追記
Match User user001
  ChrootDirectory /home/user001/
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp
8. sshdを再起動する
systemctl restart sshd

実行結果

chrootが適応されて任意ディレクトリだけアクセス可能なユーザーを作成する事に成功した