Linux不能运行命令,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开始.

标签:bash,linux,permissions,chroot

来源: https://codeday.me/bug/20190816/1666416.html

你可能感兴趣的:(Linux不能运行命令)