Articles of chroot

如何使用–userspec在chroot中设置ulimit

我有脚本来创build一个最小的chroot(下面),但我不知道如何获得ulimit来处理chroot的进程: #!/bin/bash user=$1 apps="$2" cmd_to_run="$3" shift 3 directory="minimal_chroot" if [ ! -d "$directory" ]; then mkdir -pv $directory/etc >/dev/null 2>&1 grep /etc/passwd -e "^$user" | sed "s/\/home\/$user/\//" >> $directory/etc/passwd grep /etc/group -e "^$user" >> $directory/etc/group mkdir -p "$directory/etc/security/" >/dev/null limits="$directory/etc/security/limits.conf" echo "$user hard nofile 100" >> $limits # cmds can be a space-separated list of […]

只允许用户SSH访问一个目录

我有一个运行Centos 6.4的服务器,我需要允许一个自由职业者访问服务器上的一个文件夹上传一些代码并做一些testing – 我已经在/ etc / passwd中设置了他们的主目录: username:x:505:505::/home/virtual_server/directory/home_directory/:/bin/bash 当他们尝试和SSH在他们得到: Could not chdir to home directory /home/virtual_server/directory/home_directory/: Permission denied -bash: /home/virtual_server/directory/home_directory//.bash_profile: Permission denied 如果他们尝试通过FTP(我启用了chroot的VSFTP)login,他们会得到一个错误: Response: 500 OOPS: cannot change directory:/home/virtual_server/directory/home_directory Error: Critical error: Could not connect to server 我发现几年前的一个类似的问题,对于这个问题,接受的答案是需要更改主目录上的所有目录,以便读取和执行https://serverfault.com/a/435430/142823 有没有其他的方式做到这一点,而不需要改变其他目录的权限或less一些“永久性”?

服务器端的CD上的SFTP客户端连接

有没有一种方法使用sftp来configuration服务器端在客户端连接时运行cd命令? 我有我的用户扔到chroot,该文件夹必须是root:root chowned,不能被任何其他用户写入,在chroot中有sftp用户所拥有的子文件夹。 我想要做的是在用户连接时,将用户从服务器端的服务器端切换到他们的文件夹,以避免每次连接时都不得不这样做。 这可能吗?

Chroot用户无法使用SSHlogin

我创build了一个没有shell访问权限的新用户: useradd -g www -d /www/user01 -p ****** -s /sbin/nologin user01 然后在我的sshd_config添加这些行: AllowUsers user01 user02 manager Subsystem sftp internal-sftp Match User user01 ChrootDirectory /www/user01 PasswordAuthentication yes ForceCommand internal-sftp 问题是我得到拒绝每次我用腻子login,是否有任何错误configuration? 更新: 看来,唯一的用户可以ssh是root用户,甚至添加新的用户到AllowUsers指令。

如何将用户locking到目录(而不是SSH)

我有一些普通的用户,他们没有 SSH进入机器,而是直接访问机器。 我怎样才能locking他们的主目录或任何目录? 目前他们可以成功运行rm -rf / 。 他们也可以运行各种危险的命令。 我通常使用SSHconfiguration来locking它们,但这不是这种情况。 在我的情况下,用户通过Web界面访问命令行。 这是一个docker集装箱,一旦用户完成,它将被移除。 我试图阻止用户“逃离”容器,因为docker集装箱不一定像虚拟机一样“安全”。

使用FileZilla和SFTP上传的文件缺less权限

我在sftp中使用chroot。 它完美的工作,但与FileZilla上传的文件存储没有任何许可(基本上是000)。 ———- 1 cwsftp sftp 4364328 Jan 19 16:02 hygq8KAZ3seC.128.mp3 这是我在sshd_config设置: Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no 我已经尝试添加-u 0002和这样的东西,没有效果。

schroot只能作为根用户使用

我最近把我的操作系统从openSUSE改成了CentOS。 这个过渡的一部分是迁移我的chroot监狱和schrootconfiguration。 然而,这种转变似乎不是“即插即用”的。 我曾经可以使用schroot作为我的用户“richard”,但在CentOS上只有root用户可以使用schroot。 这是非常不方便的,因为现在快速简单的操作需要密码input。 有没有一个configuration,我可以改变,让理查德用户使用schroot? 例 $ schroot -c kanos date E: kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to lock chroot:/var/lib/schroot/session/kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to write session file: Permission denied $ sudo schroot -c kanos date Fri Apr 10 11:43:53 GMT 2015 注意:我试图改变/ var / lib / schroot / session /和/ var / lib / schroot / mount /上的权限,给richard用户权限。 施罗特不喜欢那样,抱怨只有root才能访问。 […]

SSH – ChrootDirectory无法正常工作

我试图chroot一个“testing”用户(组sftp)到/ home / test。 我在sshd_config的末尾添加了以下几行: Subsystem sftp internal-sftp Match User test ChrootDirectory /home/test X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp home和test目录有755个权限,由root拥有。 我也试过用ChrootDirectory /home 。 root@Debian:/# namei -l /home/test f: /home/test drwxrwxrwx root root / drwxr-xr-x root root home drwxr-xr-x root root test 我无法通过SFTP或SSH连接到服务器(不论我是否包括Subsystem sftp internal-sftp和ForceCommand internal-sftp )。 只要我login,我收到以下消息: Write failed: Broken pipe …并将以下内容附加到auth.log: May 12 13:48:29 […]

将程序安装到chroot / jail最好的方法是什么?

在基于Debian的系统上 我创build了一个简单的chroot / jail,使用类似于https://github.com/pmenhart/make_chroot_jail/blob/master/make_chroot_jail.sh的脚本,目的是创build一个基本上除了运行之外什么都不做的监狱所需的程序(为了安全)。 我的问题是,一旦build立监狱,什么被认为是最好的方法安装到监狱的程序? 由于监狱是最小的,没有软件包pipe理器,如apt,没有构build工具。 我需要安装程序到一个普通的帐户,并将所有需要的文件复制到chroot目录? 如果是这样,我将如何跟踪所有的变化,以了解我需要做的事情? 一个像rkhunter这样的小程序可以很容易地跟踪,但是像MySQL这样的大程序我无法做到,因为会有太多的文件需要复制和configuration文件来修改。 或者,有没有办法将一个最小的软件包pipe理器(如apt)安装到监狱中,安装所需的程序,最后删除软件包pipe理器? 有没有更好的做法,我不知道? 谢谢! 之前有人build议: 我知道维护多个chroot安装的额外负担 我知道它不会像您希望的那样增加安全性,因为configuration不当的chroot可能会被破坏。 容器可能是一个更好的select。 我知道一些程序已经具有内置chroot的function,但是我想知道一个安装程序的通用方法。

对于复制的文件,internal-sftp -u 002将被忽略

我像这样configuration了OpenSSH Subsystem sftp internal-sftp Match Group sftp ForceCommand internal-sftp -u 002 AuthorizedKeysFile /home/sftp/ssh/%u ChrootDirectory %h X11Forwarding no AllowTcpForwarding no 此configuration正在工作,但有一个问题:从本地驱动器复制到sftp的文件或文件夹保留其权限(通常为755 ),没有其他sftp-user可以访问它们。 其他sftp-users只有拥有完全的权限,如果有人创build一个文件夹或文件或复制775权限的文件。 有没有办法让sftp-directory中的所有文件都有775权限? 目前我正在使用chmod -R 775 /home/sftp/files/来手动设置它,但这不是我想要的解决scheme… 谢谢