Linux 是個多人多工的系統,有時候我們希望可以讓其他一般的使用者可以利用 SFTP 來存取檔案,但是又希望他們可以存取且看到需要關注的資料夾就好!
這時,我們可以編輯 sshd_config (/etc/ssh/sshd_config) 檔案 :
sudo vim /etc/ssh/sshd_config
1) 我們假設有個使用者叫做 Jed, 並希望他存取 /var/www/html 目錄,可以在 sshd_config 內容後加入以下幾項設定
單一使用者:
Match user Jed ChrootDirectory /var/www/html AllowTcpForwarding no X11Forwarding no ForceCommand internal-sftp
2) 修改完後,存檔離開,並下以下指令讓剛剛更改的設定值能生效
sudo service ssh restart
- 這樣的設定可以達成需求 (單一使用者):
- SFTP 登入後需透過 chroot 限制存取目錄
- 不允取使用者建立 SSH Tunnel
- 不允取使用者建立 X11 Forwarding
- 不允許使用者登入 Shell (只能使用 SFTP 存取)