如何在 /var/www/html 中監禁使用者?
我想限制一個使用者(使用者 sftp-user,組 webgroup)對 CentOS 8 中 /var/www/html 目錄的 sftp 訪問。他們應該具有讀寫權限,以便他們可以更改網站文件。
我能夠成功地將使用者監禁到他們的主目錄,但是當我將其更改為/etc/ssh/sshd_config
ChrootDirectory %h
時,我無法讓它正常工作。ChrootDirectory /var/www/html
使用者在嘗試 sftp 時收到此錯誤:
fatal: bad ownership or modes for chroot directory "/var/www/html"
我所做的是嘗試使用
setfacl
為組 webgroup rw- 授予 /var/www/html 的權限(雖然不是遞歸的,但該文件夾中的所有內容都是 owner bysftp-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
是遞歸。