我想為 sftp 建立對特定資料夾具有有限存取權限的用戶
我的資料夾結構如下所示:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
我想創建 sftp user1 來/var/www/site1/files/
僅訪問以使用 filezila 上傳網站文件,並且無法查看任何其他資料夾
對於具有有限存取權限的 user2 也是如此/var/www/site2/files/
對於具有有限存取權限的 user3/var/www/site3/files/
答案1
你已經基本了解這件事了。
最好的方法是這樣做:
/home
透過在下列位置附加以下行,將 3 個目錄中的每一個目錄掛載到目錄中/etc/fstab
:/var/www/site1/files/ /home/site1/htdocs/ bind 0 0 /var/www/site2/files/ /home/site2/htdocs/ bind 0 0 /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
用於
mount -a
立即啟動安裝。確保您已將使用者 site1、site2、site3 新增至同一組(例如 sftpusers 或 sftponly)。您可以使用以下命令將使用者新增至群組:
usermod -aG sftponly site1 usermod -aG sftponly site2 usermod -aG sftponly site3
/home/{site1,site2,site3}
使用以下命令為相應使用者建立主目錄:usermod -d /home/site1 site1 usermod -d /home/site2 site2 usermod -d /home/site3 site3
在您的 中加入以下內容
/etc/ssh/sshd_config
:Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
最後使用以下命令重新啟動 ssh 服務:
service ssh restart
看這篇關於數位海洋的文章了解詳情。
答案2
關注後克里希納·查利斯的回答您可能需要調整所有權和權限。
例如,對於使用者 site1:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly