linux – chroot:无法运行命令’/ bin / bash’:权限被拒绝

我正在努力做一个chroot作为某个用户.对于一个用户来说它是有效的,对于其他用户来说它没有,我不知道发生了什么.

我在chroot目录中的/ etc / passwd看起来像这样(相关部分):

test0:x:1000:1000:test0:/home/test:/bin/bash
test1:x:1001:1001:test1:/home/test:/bin/bash

> sudo chroot –userspec = test0 chroot_dir / / bin / bash –login效果很好
> sudo chroot –userspec = test1 chroot_dir / / bin / bash –login说chroot:无法运行命令’/ bin / bash’:权限被拒绝
> / bin / bash in chroot的详细信息:-rwxr-xr-x 1 user user 455188 Sep 19 08:58,其中user是我在系统中的用户名.

任何想法为什么用户test1不起作用?如果您需要更多信息,请询问,我会把它们放进去.非常感谢您提前.

解决方法:

使用chroot(并且没有用户命名空间,这是这种情况),运行您提供给chroot的命令所需的目录和文件需要您指定的用户可访问.这包括

> chroot的根;
> chroot中的bin和bin / bash;
> lib和bash中使用的任何库,如果有的话(ldd bin / bash会告诉你它们是什么);
>当bash开始,home / test和任何启动脚本(.bashrc等,如果有必要).

运行chmod -R 777显然可以解决所有这些问题;只要用户ID 1001可以读取并执行相应的文件,您就可以使用更严格的权限. chmod -R 755 bin lib和chmod 755.将允许bash开始.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...