Articles of chroot

如何创build监狱之外的链接,但在监狱内可访问?

我创build了一个chroot监狱,但是现在我想能够在监狱之外的监狱里创build一个链接。 这可能吗?

在chroot的环境之外访问文件?

我需要设置一些用户访问我们的服务器。 我认为最安全的方法是让他们login进入chrooted监狱。 但是我需要他们访问chrooted环境之外的几个select的目录。 显然我不能使用符号链接。 什么是最好的方法? chroot的环境不能用于这个目的吗?

socat可以用来转发一个SSH代理套接字到一个chroot?

我正在通过SSH连接的远程服务器上构build定制的Debian环境。 这包括构build一个debootstrap环境,然后通过chroot来运行一个定制的安装程序。 作为定制安装过程的一部分,我需要安装程序能够将chroot环境ssh移出到远程服务器,在chroot 外部使用ssh-agent的SSH凭据重新使用。 我根本无法想象如何做到这一点。 原则上,我认为在调用chroot之前,我应该可以使用socat将$ SSH_AUTH_SOCK转发到chroot环境中,如下所示: socat UNIX-CONNECT:$SSH_AUTH_SOCK UNIX-LISTEN:chroot_root$SSH_AUTH_SOCK,fork & sudo -E chroot chroot_root /bin/bash 但是,一旦我尝试在chroot中使用ssh,就会给我一个破解来自socat的pipe道,我想这是可以理解的(以某种方式)。 有没有办法解决? 我在chroot之前设置了一个SSH主套接字,并在chroot中使用了这个套接字,但是这会涉及对安装程序的相当侵略性的重写,所以我并不热衷于这个计划。 UPDATE 事实certificate,我可以通过创build一个到套接字的硬链接来获得我想要的效果。 我真的没有想到会工作。

更新grub2没有硬件访问(例如在chroot中)?

我正在编写一个脚本,需要一个主KVM映像,将其转换为VDI,对其进行一些更改,然后提供下载。 我需要更新一些新创build的映像的内核启动参数。 通常情况下,编辑/ etc / default / grub中的GRUB_CMDLINE_LINUX_DEFAULT设置,然后运行update-grub。 当然,我只能在chroot中执行这个操作,失败了:'/ usr / sbin / grub-probe:error:找不到/(是/ dev挂载的)设备。 将正在运行的系统的安装/ dev绑定到chroot中,允许update-grub运行,但是会导致grub.cfg中断(从映像的angular度看错误的根设备)。 如果我只是使用sed来添加我需要的内核参数,它将启动映像,但后续运行的update-grub(从现在运行的映像中)会造成麻烦。 所以我现在的解决scheme是: 编辑/ etc / default / grub中的参数 将/ dev挂载到chroot中 在chroot中运行update-grub 使用sed修复/boot/grub/grub.cfg中的错误设备节点 请告诉我有一个更好的方法。

vsftp:为什么是allow_writeable_chroot = YES是个好主意?

有几千篇关于vsftp的博客文章, allow_writeable_chroot=YES 常见错误信息: 修复500 OOPS:vsftpd:拒绝以chroot()内的可写根目录运行 我解决了我的服务器上的问题。 但是还有一个问题: 为什么build议使用allow_writeable_chroot=NO ? 到目前为止,我只是发现了一些模糊的论点,比如“出于安全原因”。 这些“安全原因”是什么?

用OpenSSHbuild立一个chroot的SFTPlogin

我怎样才能创build一个不受信任的用户的SFTPlogin,他只能访问他自己的主目录中的文件,而不运行任何命令? 使用ChrootDirectory的在线教程OpenSSH SFTP chroot()几乎正是我所需要的,除了我希望用户将他的主目录看作/home/user ,而不仅仅是/ 。 任何帮助将不胜感激。

在SFTP中设置初始远程工作目录

我正在运行Amazon Linux AMI(Red Hat衍生产品),并使用OpenSSH创build新的SFTP服务器。 我希望SFTP用户被限制在一个目录下,并且能够写入由他们的SFTP客户端显示的初始目录。 我正在使用ChrootDirectory将用户chroot到/home/customers/srgcompany 。 这意味着这个目录必须由root拥有,只能由root来写。 用户的passwd项目看起来像fflintstone:x:508:515:Fred Flintstone:/home/fflintstone:/sbin/nologin 。 我已经把用户的公钥放在/home/fflintstone/.ssh/authorized_keys 。 我已经在/home/customers/srgcompany/fileshere创build了一个用户组( srgcompany )具有读/写/执行/ sgid权限的文件夹。 我已经使用Subsystem sftp internal-sftp -u 0007 -l INFOconfiguration了OpenSSH的SFTP。 那么现在,当用户使用SFTP客户端进行连接时,显示(并由pwd命令返回)的目录将无法写入。 用户可以cd到fileshere文件夹,并写在那里。 有没有什么办法让用户的SFTP中的文件夹文件夹作为初始的远程工作目录,就像在下面的例子中一样? 或者,我可以使chrooted文件夹可写吗? 我想要的是: $ sftp sftpserver.sssprockets.com Connected to sftpserver.sssprockets.com. sftp> pwd Remote working directory: /fileshere 任何帮助深表感谢。

在CentOS 7上创build一个chroot SSH的正确方法

有很多关于如何创build一个chroot的SFTP的教程,但是我想使用SSH,因为比起FTP和phpMyAdmin来说,简单的wget , unzip , mysql和mysqldump要快得多。 该方法也应该是干净的(没有手动ldd魔法)和可扩展的,所以我可以轻松地添加和升级包。

sftp服务器的chroot初始目录

我用chrootconfiguration了一个sftp服务器,它工作正常,唯一困扰我的是最初的登陆目录,因为sftp用户在登陆文件夹中没有写入权限,他必须去一个以他自己命名的文件夹用户名来上传文件。 我已经设置了:ForceCommand internal-sftp -d%u,我在一些configuration指南中发现它们说它应该更改登陆文件夹,但是它不起作用。 在开始时我已经在passwd上为用户loginconfiguration了一个空脚本,但是如果它可能与此有关,我将它改为了/ bin / bash。 我重新启动服务,所以也可能不是这个原因。 也许这可能与ssh的版本有关,我使用的分发版或者sshd都不能这样做? 这是我的configuration关于sshd: CentOS版本6.6(最终版) OpenSSH_5.3p1,OpenSSL 1.0.1e-fips 2011年2月11日 Subsystem sftp internal-sftp Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp -d %u

schroot无法login进入

我正在尝试为自己build立一个chroot环境,并且失败了。 这已被复制到Ubuntu的多个版本(10.04和11.04)。 我是这样做的: $ mkdir -p /srv/chroot/squeeze64 $ debootstrap –arch amd64 squeeze /srv/chroot/squeeze64 http://ftp.debian.org/debian/ $ cat /etc/schroot/schroot.conf [squeeze64] description=Whatever directory=/srv/chroot/squeeze64 users=ajtack root-users=ajtack type=directory 进入chroot会失败,如下所示: $ schroot -c squeeze64 E: Failed to change to directory '/var/lib/schroot/mount/squeeze64-d1d6ed5e-b217-4319-94ee-ff0422a75671': No such file or directory 我不知道如何debugging。 出了什么问题? 附加信息:从详细的运行。 $ schroot –verbose -c squeeze64 I: Executing '00check setup-start ok' I: 00check: […]