Sftp

OpenSSH SFTP:chrooted 使用者可以訪問其他 chrooted 使用者的文件

  • May 13, 2010

決定完全重新表述這個問題,以便不必提出一個新問題。

我目前使用 OpenSSH 的 SFTP 功能設置了 SFTP 伺服器。我所有的使用者都是 chroot 的,一切正常。

我現在最需要的是讓一個不是 root 的使用者(因為這個使用者沒有任何真正的 SSH 權限!)來訪問所有其他使用者的 chroot 目錄。該使用者的工作是每隔一段時間獲取所有上傳的文件。

截至目前的目錄結構是:

/home |_ /home/user1 |_ /home/user2 |_ /home/user3

將 ChrootDirectory 設置為 /home/%u

使用者“adminuser”應該可以訪問 user1、user2 和 user3 的目錄,但不能訪問 /home,或者至少不能訪問除 /home 之外的任何內容。

可以告訴我如何讓使用者在 /home/%u 中寫入而不必在他們自己擁有的目錄中創建新目錄的人的獎勵積分,而不是像 /home/%u 那樣的 root (openssh chroot 先決條件)。

創建一個新的主目錄,例如 /chroothome。

讓所有使用者的主目錄都位於該 chroothome 中。

chroot adminuser 到 /chroothome。

對於其他一切,只需使用文件系統權限。

至於您的“額外問題”,使用本機功能是不可能的。chroot 使用者無法寫入根目錄是一種設計上的安全機制。當然,您可以隨時修改原始碼。

不過,我懷疑您可以將使用者的主目錄指定為 /user1 並讓登錄時的工作目錄成為他們可以寫入的目錄。

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