【发布时间】:2012-11-26 18:04:18
【问题描述】:
我的 chroot 环境有点问题,希望你能帮助我:)
这是我的故事:
1 - 我创建了一个用户演示(有一个像 /home/demo 这样的家),我通过脚本 /bin/chrootshell 将他 chroot,如下所示:
#!/bin/bash
exec -c /usr/sbin/chroot /home/$USER /bin/bash --login -i
2 - 此用户禁用了通常的登录身份验证,因此我必须使用 su - demo 以他的身份登录
一切正常(就像所有 chrooted 系统命令或我的 java 配置)。但是每次我成为用户演示时,似乎我的 .bashrc 或 /etc/profile 都没有来源......而且我不知道为什么。
但是,如果我启动手动 bash,它会像您在此处看到的那样工作:
root@test:~# su - demo
bash-4.1$ env
PWD=/
SHELL=/bin/chrootshell
SHLVL=1
_=/bin/env
bash-4.1$ bash
bash-4.1$ env
PWD=/
SHLVL=2
SHELL=/bin/chrootshell
PLOP=export variable test
_=/bin/env
如您所见,我的 $PLOP 变量(在 /.bashrc == /home/demo/.bashrc 中描述)在第二个 bash 中设置得很好,但我不知道为什么
如果您对我的问题有任何线索,请提前感谢:)
编辑:我实际上不明白为什么 SHELL=/bin/chrootshell ?在我的 chroot 环境中,我使用 /bin/bash shell 声明我的演示用户
【问题讨论】:
标签: linux bash chroot .bash-profile