问题标签 [chroot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 从内部检测 chroot 监狱
在没有 root 权限的情况下如何检测到处于 chroot 监狱中?假设一个标准的 BSD 或 Linux 系统。我想出的最好办法是查看“/”的 inode 值并考虑它是否合理地低,但我想要一种更准确的检测方法。
[edit 20080916 142430 EST]
仅仅查看文件系统是不够的,因为复制 /boot 和 /dev 之类的东西来欺骗被监禁的用户并不难。
[edit 20080916 142950 EST]
对于 Linux 系统,检查 /proc 中的意外值是合理的,但对于不支持 /proc 的系统呢?
bash - chroot + execvp + bash
更新
知道了!查看我的解决方案(第五条评论)
这是我的问题:
我创建了一个名为“jail”的小型二进制文件,并在 /etc/password 中将其设置为测试用户的默认 shell。
这是--简化的--源代码:
好吧,无论我多么努力,似乎当我的测试用户登录时,/bin/myscript将永远不会被获取。同样,如果我将.bashrc
文件放在用户的主目录中,它也会被忽略。
为什么bash会势利这些家伙?
--
一些精度,不一定相关,但要清除评论中提出的一些观点:
- 'jail' 二进制文件实际上是 suid,因此允许它成功 chroot()。
- 我已经使用 'ln' 来提供适当的二进制文件 - 我的牢房被很好地填充了 :)
- 问题似乎与 chrooting 用户无关……还有其他事情是疏忽的。
testing - 您使用什么方法来测试 debian/ubuntu 软件包?
我说的是测试你正在构建的包,尤其是生成守护进程和/或使用 init.d 的包。
你登录到某种 chroot 吗?您是否创建了一个虚拟化发行版并将其拆除?您如何在下次运行测试时测试您的运行时依赖项和测试套件而不会弄脏您的开发机器?
python - Python 和 os.chroot
我正在用 Python 编写一个网络服务器作为一个爱好项目。该代码针对 *NIX 机器。我是在 Linux 上开发的新手,甚至是 Python 本身的新手。
我担心有人会破坏我用来提供网站的文件夹。最明显的方法是过滤对 /../../etc/passwd 等文档的请求。但是,我担心可能有一些聪明的方法可以爬上我不知道的目录树,因此我的过滤器不会捕获。
我正在考虑使用 os.chroot 添加,以便根目录是网站本身。这是防止这些越狱攻击的安全方法吗?这样做有什么潜在的陷阱会伤害我吗?
mysql - 在 openBSD 上 chrooted Apache+MsSQL;无法确定服务器的完全限定域名
php 使用第二台服务器上的数据库在 Web 服务器上生成 GIF。该页面显示 20 个 GIF,因此在短时间内有一些负载(多个连接)
某些 GIF 已加载,但有些未加载,在/var/www/logs/error_log
在/var/www/logs/error_log
我发现的 MySQL 服务器上:
重新启动 MySQL 服务器“解决”了问题......几天。
两台服务器是运行 OpenBSD、chroot'ed Apache 和 MySQL + phpMyAdmin 的虚拟机。不幸的是,在不同的版本中(OpenBSD 4.2(web)和 3.9(mysql))
我的知识 /var/www/conf/httpd.conf
和my.cnf
(没有找到)非常有限。
有任何想法吗 ?
linux - 如何监禁 linux 用户
有没有类似于 chroot 的东西,但是对于用户来说?
我们即将授予客户端访问我们服务器的权限,并希望他们只看到我们允许的目录。
permissions - Debian Lenny 中的访问控制列表
因此,对于在我的服务器上托管网站的客户,我创建用户帐户,并在 /home 中使用标准主文件夹。
我为所有用户设置了一个 SSH 监狱collective
,因为我真的反对使用单独的 FTP 服务器。然后,我安装了 ACL 并将 acl 添加到我的/etc/fstab
- 一切都很好。
- 我 cd 进入
/home
和chmod 700 ./*
.- 此时用户无法看到其他用户的主目录(耶),但 apache 也无法看到它们(嘘)
- . 我跑了
setfacl u:www-data:rx ./*
。我还尝试了单个目录。 - 现在 apache 可以再次看到这些站点,但所有用户也可以。ACL 将主文件夹的权限更改为
750
.
我如何设置 ACL 以便 Apache 可以看到托管在用户主文件夹中的站点和 2. 用户不能看到他们家之外和其他人的文件。
qt - 用于 32 位 *AND* 64 位 Qt 应用程序开发的最佳 Ubuntu 设置?
我正在开发一个基于 qt 的应用程序,我想在同一台机器上开发 32 位和 64 位版本的应用程序,共享相同的源、脚本等。这台机器是 Ubuntu Jaunty 64 位,英特尔酷睿 i7, 8GB 内存。我知道通过运行 VMWare 或 VirtualBox 可以让事情正常运行,但它似乎不是一个好的解决方案,因为我想充分利用处理器 (i7)。我读到了一个chrooted环境,在我看来它可能是我正在寻找的设置:我需要开发机器也能够运行刚刚构建的可执行文件。
你有这方面的经验吗?您是否在 64 位主机上设置了这样的 32 位 chrooted 环境?它运作良好吗?如何正确设置它?
c - Windows 服务器应用程序的 fork/chroot 等效项
我用 C 语言编写了一个在 Linux 上运行的小型自定义 Web 服务器应用程序。当应用程序接收到请求时,它调用 fork() 并在单独的进程中处理请求,该进程被 chroot 到包含我想要提供的文件的特定目录中。
我想将应用程序移植到 Windows,但在这个平台上既没有 fork() 也没有 chroot(),而且似乎没有任何直接的等价物。您能否指出一个简单(最好写得很好)的代码示例,该示例将在 Windows 中提供此功能?我的 C 不是那么好,所以越简单越好。
linux - 如何限制用户仅访问特定文件夹
我安装了 Ubuntu 服务器,我需要授予对托管在我的服务器上的客户站点的访问权限。当前有 2 个站点,这意味着 2 个文件夹。
我能够使用以下命令创建用户:
但是,我找不到如何限制此用户仅查看特定文件夹的方法。如果您至少告诉我如何将用户限制在服务器上的一个文件夹中,那就太好了!
我用谷歌搜索了一下,发现了一些关于 chroot 的信息。如果我理解正确,这实际上将为用户创建一个新的根,这最终意味着限制某些文件夹。但是,我不是 linux 专家,也没有设法使用它。
提前谢谢了