Add SFTP user and share directory
Add SFTP user and share directory
dev_test_user, qa_test_user 同權限 dev_user, qa_user 同權限
1. 建立共享資料夾(SFTP 使用的資料夾)
sudo mkdir -p /home/{test,prod}/{exchange,upload}
sudo mkdir -p /home/{test,prod}/exchange/success
sudo mkdir -p /home/{test,prod}/upload/backup
2. 建立使用者群組
sudo groupadd share01-test
sudo groupadd share01-prod
3. 創建 qa_test_user 使用者並設定 qa_test_user 使用者的群組為 share01-test
sudo useradd -m -G share01-test qa_test_user
# 設定 dev_test_user 使用者的群組為 share01-test
sudo usermod -G share01-test dev_test_user
# 設定密碼
sudo passwd qa_test_user
4. 創建 qa_user 使用者並設定 qa_user 使用者的群組為 share01-prod
sudo useradd -m -G share01-prod qa_user
# 設定 dev_user 使用者的群組為 share01-prod
sudo usermod -G share01-prod dev_user
# 設定密碼
sudo passwd qa_user
5. 設定權限
# 設定 /home/test 資料夾(含下級資料夾)的使用者為 qa_test_user,群組為 share01-test
sudo chown -R qa_test_user:share01-test test/
# 設定 /home/prod 資料夾(含下級資料夾)的使用者為 qa_user,群組為 share01-prod
sudo chown -R qa_user:share01-prod prod/
# SFTP 登入資料夾權限要給 root
sudo chown root:root /home/test
sudo chown root:root /home/prod
6. 設定 /etc/ssh/sshd_config
/etc/ssh/sshd_config
# 在最底下增加設定
Match group share01-test
ChrootDirectory /home/test
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -d /upload
Match group share01-prod
ChrootDirectory /home/prod
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -d /upload
# 重新啟動 sshd 讓設定生效
sudo systemctl restart sshd.service