如何将用户监禁在 /var/www/html 中?

如何将用户监禁在 /var/www/html 中?

我想限制用户(用户 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 授予 /var/www/html 的 rw- 权限(虽然不是递归的,但该文件夹内的所有内容都是所有者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

谢谢。

答案1

我明白了这一点。看来我混淆了不同的因素。尝试与sftp和合作ACL同时导致我误诊了问题。全部归功于乌尔里希·施瓦茨为了从根本上解决问题。

为了使其工作,我必须确保路径中的每个目录都由监狱显然要求的/var/www/html拥有。rootchroot

另一个问题是,当我试图解决这个问题时,权限html被更改为。775我将它们更改为755并且我能够毫无问题地sftp进入。ChrootDirectory

ACL前面, 中的文件/var/www/html属于apache:apache,而用户属于sftp-userwebgroup。我只是授予用户rwX权限:

setfacl -Rm u:sftp-user:rwX html

-m是修改,-R是递归。

相关内容