我创建了用户 MY_USER。将他的家目录设置为/var/www/RESTRICTED_DIR,这是他应该被限制的路径。然后我编辑了 sshd_config 并设置:
Match user MY_USER
ChrootDirectory /var/www/RESTRICTED_DIR
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了 ssh。将 MY_USER 所有者(和组所有者)设为 RESTRICTED_DIR,并将其修改为 755。我明白了
Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER
Run Code Online (Sandbox Code Playgroud)
如果我从 sshd_config 中删除了 2 行,则用户可以成功登录。当然,它可以访问所有服务器。有什么问题?我什至试图将 RESTRICTED_DIR chown 到 root (因为我在某处读到有人解决了同样的问题)。没运气..
vor*_*aq7 99
从该man页面:
ChrootDirectory
指定认证后chroot(2) 的目录路径名。 路径名的所有组成部分必须是任何其他用户或组不可写的根目录。在 chroot 之后,sshd(8) 将工作目录更改为用户的主目录。
我的猜测是路径上的一个或多个目录不符合这些要求(我怀疑是www您的网络用户拥有或可写的,而不是 root)。
返回并按照说明进行操作,确保满足上述粗斜体要求。
小智 40
ChrootDirectory 目录必须由 root 拥有并具有 755 模式:
sudo chown root:root /var/www/RESTRICTED_DIR
sudo chmod 755 /var/www/RESTRICTED_DIR
Run Code Online (Sandbox Code Playgroud)
好的,现在所有进入的文件都/var/www/RESTRICTED_DIR必须由 拥有MY_USER,它必须属于www-data组,并且具有 775 模式以允许组权限,如下所示:
sudo usermod -a -G www-data MY_USER
sudo chown MY_USER:www-data /var/www/RESTRICTED_DIR/*
sudo chmod 775 -R /var/www/RESTRICTED_DIR/*
Run Code Online (Sandbox Code Playgroud)
注意:请记住,如果您正在配置 apache,最好只允许访问 htdocs 文件夹。
| 归档时间: |
|
| 查看次数: |
187979 次 |
| 最近记录: |