我阅读了本教程 - https://help.ubuntu.com/community/BasicChroot - 我的理解是,chroot 是更改的过程,/而创建的新受限环境是“监狱”。但是有人说我错了,chroot 和 jails 是两个完全不同的东西。
有人真的可以用简单的术语解释我的区别吗?
我正在尝试设置备份服务器。我想将每个用户(客户端)chroot到其主目录,并且只允许它使用sftp和rsync。
我很快发现我并不是唯一一个尝试做这样的事情的人,我找到了这个指南并遵循了它。所以现在我只有 sftp 的 chroot 用户。
然后我发现 rsync 需要 ssh 才能在另一台机器上生成自己,而 sftp 是不够的。给每个用户一个 ssh 登录是我首先想避免的。
谁能想到一些可能的解决方案?
谢谢,
标记
一台 ubuntu 服务器在不同的域中托管 3 个应用程序。
每个应用程序都有自己的开发人员。
应用程序开发人员属于 linux "sftp" 组。
chroot允许每个应用程序开发人员使用密码 sftp 访问。
/home/app1/prod
/home/app2/prod
/home/app3/prod
Run Code Online (Sandbox Code Playgroud)
在 sshd_config
Match Group sftp
PasswordAuthentication yes
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Run Code Online (Sandbox Code Playgroud)
我们担心一个应用程序中的编程漏洞会导致其他两个应用程序出现问题。
我们应该使用 lxc 容器而不是 chroot 吗?为什么?对 lxc 容器的更改对应用程序开发人员是透明的吗?
我正在玩 bind 并开始想知道为什么这个软件是,例如,在 chroot 中运行的 CentOS 中。不要误解我,我知道什么是 bind 以及 chroot (jail) 是干什么用的。但我的主要问题是没有 chroot 的绑定运行非常不安全?
在没有监狱的情况下设置它真的有害吗(比任何其他服务或软件都多)。在系统中,有许多进程在没有 chroot 的情况下运行,我认为对其中任何一个进行妥协都是非常危险的,但是是什么让 named 比其他没有 chroot 运行的软件更危险?
有数千篇关于 vsftp 的博客文章和 allow_writeable_chroot=YES
常见的错误信息:
修复 500 OOPS:vsftpd:拒绝在 chroot () 内使用可写根运行
我在我的服务器上解决了这个问题。
但还有一个问题:
为什么建议使用allow_writeable_chroot=NO?
到目前为止,我只发现了诸如“出于安全原因”之类的模糊论点。
这些“安全原因”是什么?
我已经使用 Mac 25 年了,从 OS X 10.0 开始使用“UNIX”......但我从来没有真正考虑过 chroot,也从来没有真正需要或想要......
这是一个简单的问题,但是……在什么情况下人们会选择在 Mac 上使用“chroot”?它确实是 BSD 时代的一个内置函数,但我从未听说过它被使用过……该功能是另一个命令行或系统级工具的一部分,不需要 chroot 吗?如果是,那么等效的功能是什么?如果没有,为什么它似乎从未被使用、引用或需要?
我有一个可以通过 SSH 访问的服务器。没有可用的 KVM,整个服务器只有一个根分区。我删除了一些我不应该拥有的文件,并希望使用 extundelete ( http://extundelete.sourceforge.net/ )恢复它们。为此,我需要卸载目标文件系统。
有没有办法在不重新启动的情况下卸载根文件系统?也许通过在某些系统上安装根文件系统之前执行类似于 initrd 启动系统的操作?
谢谢
是否有允许将 RPM .spec 的依赖项安装到隔离环境中的工具?我不会在系统上全局安装此类依赖项,而且我无法这样做,因为我没有 root 权限。
原因
我想构建一个依赖于较新版本B(不能在系统上全局安装)的包A。
我想建立的新版本乙,让构建工具安装乙的-devel它变成一个孤立的环境中提供所有必要的文件的生成一个。
解决方案
chroot?我一直听说需要 chroot BIND。很公平。但是其他程序呢?决定哪些程序应该被监禁的“规则”是什么(个人的或被广泛接受/建立的)?
-M
我需要:
我发现的选项和相关问题:
只
rssh
SSH 服务器
所以,我想知道还有哪些其他选择,或者其他人如何处理这个特定问题。