Ubuntu

SFTP 將使用者限制在幾個目錄中

  • July 15, 2014

我執行一個遊戲伺服器,我有幾個人也想授予伺服器訪問權限以幫助開發。我試圖讓他們只能訪問這些目錄

/var/www/Update
/root/gamed/config

每個使用者都將被放置在一個名devs為主目錄的組下/home/usernamesshd_config我在該組中有以下內容

Match group devs
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTcpForwarding no

我試圖創建一個到 的符號連結/var/www/Update,但是當我以該devs組下的使用者身份登錄時,它不起作用。

您可以嘗試將該文件夾作為 BIND 掛載到使用者的主目錄中。

對於使用者 foo:

# mkdir -p /home/foo/Update /home/foo/GameConfig
# mount --bind /var/www/Update/ /home/foo/Update
# mount --bind /root/gamed/config /home/foo/GameConfig

在您的 /etc/fstab 中,您可以添加

/var/www/Update /home/foo/Update           bind    defaults,bind 0 0
/root/gamed/config /home/foo/GameConfig    bind    defaults,bind 0 0

在啟動時安裝。

這些應該比符號連結更靈活,尤其是在使用 chroot 時。只要確保您按順序擁有您的權限即可。當然,您需要為每個使用者執行一次。

參考:

http://docs.1h.com/Bind_mounts

https://fermilinux.fnal.gov/documentation/tips/mount-bind-chroot

引用自:https://serverfault.com/questions/612755