我创建了用户 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 (因为我在某处读到有人解决了同样的问题)。没运气..
在 *nix 系统上,我可以使用chroot将两个进程彼此隔离并与系统的其余部分隔离。windows下有没有类似的安全系统?或者有什么方法可以防止两个进程读取/写入彼此的文件?
我正在尝试设置 sftp,以便一些受信任的人可以访问/编辑/创建一些文件。我已将用户监禁到他们的主目录 (/home/name) 中,但遇到了问题。我希望他们也能够访问 VPS 的其他部分,因为它也是一个游戏服务器、网络主机等,我希望他们能够完全控制他们被监禁的目录之外的文件。
我尝试创建指向所需目录的符号链接 (ln -s),但没有按预期工作。我尝试 (cp -rl) 访问我想要访问的文件并且它起作用了 - 他们可以编辑其目录中的文件并更改存储在监狱外的文件。但是他们不能创建新文件(他们可以,但不会在监狱外更新)。我知道我可能没有以“正确的方式”这样做,但是我该怎么做才能做我想做的事?
非 root 用户是否可以在 Ubuntu 上运行 chroot 进程?
我想为大多数(不是所有)通过 SSH 登录的用户设置一个 chroot jail。我听说最新版本的 openssh 是可能的,但我一直无法找到如何去做。How To 都在谈论修补旧版本,而该补丁已不再可用。
我正在运行 debian etch。
我正在运行 Debian stable,我希望为我的 'sftponly' 组中的用户建立以下环境:
从我的实验和研究来看,sshd_config 中的以下节似乎让我达到了 90%:
Match group sftponly
ChrootDirectory /sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
这给了我监禁的 SFTP 而没有 SSH,这很好。但它也禁用了 SCP,这不太理想,因为很多客户端是使用 SCP 而不是 SFTP 的遗留脚本进程(我们正在替换的服务器支持这两种协议),并且因为这些客户端不受我们的控制并且很容易修改后,完全禁用 SCP 可能不切实际。
此配置将禁用 SCP 是有道理的,因为传入的 SCP 连接会导致 sshd 以该用户的身份通过用户的登录 shell 生成一个“scp”进程。如果不是特殊的“internal-sftp”处理程序,SFTP 似乎通常也是如此。
所以,我想我的问题是:有没有一种方法可以达到与“internal-sftp”相同的效果,但对于 SCP,而不使用像 scponly 和 rssh 这样的第三方工具?'internal-sftp' 的真正好处在于它不需要用支持文件设置监狱,或处理可能被利用的第三方 setuid 二进制文件(特别是 rssh,它有被利用的历史)。
我是一个 chroot 新手,试图制作一个简单的 chroot 监狱,但我一次又一次地遇到同样的问题......任何帮助将不胜感激
我创建了一个/usr/chroot我想用作监狱的目录,并在其下创建了子目录并将依赖项复制/bin/bash到其中:
[root@WIG001-001 ~]# cd /usr/chroot/
[root@WIG001-001 chroot]# ls
[root@WIG001-001 chroot]# mkdir bin etc lib var home
[root@WIG001-001 chroot]# ldd /bin/bash
linux-vdso.so.1 => (0x00007fff99dba000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000037a2000000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000379fc00000)
libc.so.6 => /lib64/libc.so.6 (0x000000379f800000)
/lib64/ld-linux-x86-64.so.2 (0x000000379f400000)
[root@WIG001-001 chroot]# cp /lib64/libtinfo.so.5 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/libdl.so.2 /udr/csr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/libc.so.6 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/ld-linux-x86-64.so.2 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /bin/bash bin
[root@WIG001-001 chroot]# pwd
/usr/chroot
[root@WIG001-001 chroot]# /usr/sbin/chroot .
/usr/sbin/chroot: …Run Code Online (Sandbox Code Playgroud) 我刚刚设置了我的 SFTP 服务器,当我从我的第一个用户帐户使用它时,它工作正常。我想添加一个我们称之为“magnarp”的用户。起初我在 sshd_config 中这样做:
Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
效果很好,用户 magnarp 进入了他的主目录。然后我尝试向它添加一个符号链接。
home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"
Run Code Online (Sandbox Code Playgroud)
符号链接通过 SSH 运行良好,但不能通过 SFTP。
所以我现在想做的是将 Chroot 组 sftponly 设置为 /home/DUMP,我这样做了:
Match group sftponly
ChrootDirectory /home/DUMP
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
DUMP 文件夹的权限如下。
drwxrwxrwx 5 root root 4096 aug 18 02:25 DUMP
Run Code Online (Sandbox Code Playgroud)
这是错误代码:
Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password …Run Code Online (Sandbox Code Playgroud) 我一直在玩 CentOS box 几年了。所以我对终端很满意。但是,我读了很多博客文章,声称 chroot 不安全,而且这些文章的数量令人恐惧。真的是这样吗?为什么?
我使用 chroot 在特定上下文中锁定仅使用 SFTP 的用户,根本没有任何 shell 或命令。那么真的,这有什么安全问题?
问题已从StackOverflow流放。
我阅读了本教程 - https://help.ubuntu.com/community/BasicChroot - 我的理解是,chroot 是更改的过程,/而创建的新受限环境是“监狱”。但是有人说我错了,chroot 和 jails 是两个完全不同的东西。
有人真的可以用简单的术语解释我的区别吗?