Chroot

如何在 /var/www/html 中監禁使用者?

  • July 19, 2020

我想限制一個使用者(使用者 sftp-user,組 webgroup)對 CentOS 8 中 /var/www/html 目錄的 sftp 訪問。他們應該具有讀寫權限,以便他們可以更改網站文件。

我能夠成功地將使用者監禁到他們的主目錄,但是當我將其更改為/etc/ssh/sshd_configChrootDirectory %h時,我無法讓它正常工作。ChrootDirectory /var/www/html使用者在嘗試 sftp 時收到此錯誤:

fatal: bad ownership or modes for chroot directory "/var/www/html"

我所做的是嘗試使用setfacl為組 webgroup rw- 授予 /var/www/html 的權限(雖然不是遞歸的,但該文件夾中的所有內容都是 owner by sftp-user:group)。

我如何讓它工作?我已經看到一些解決方案建議使用mount,我不確定這是否是更好的解決方案。

此外,該html文件夾的所有者為,正如我所提到的root:root,其中的所有內容都歸所有者所有。sftp-user:webgroup這是正確的所有權嗎?

為了完整起見,這裡是輸出getfactl /var/www/html

# file: html/
# owner: root
# group: root
user::rwx
group::r-x
group:webgroup:rw-
mask::rwx
other::r-x

謝謝你。

我想通了。看起來我把不同的因素混為一談了。嘗試與同時工作sftp導致ACL我誤診問題。所有功勞歸功於Ulrich Schwarz從根本上解決了這個問題。

為了讓它工作,我必須確保路徑中的每個目錄都歸/var/www/html監獄顯然要求的所有。root``chroot

另一個問題是,在我試圖解決這個問題時,權限html被更改為某個時間點。775我將它們更改為755並且我能夠毫無問題地sftp進入。ChrootDirectory

ACL前面,文件/var/www/html由 擁有apache:apache,而使用者sftp-user在組中webgroup。我只是給了使用者rwX權限:

setfacl -Rm u:sftp-user:rwX html

-m是修改,-R是遞歸。

引用自:https://unix.stackexchange.com/questions/598448