背景是我想要允许 chrooted 用户在分离的屏幕上执行 shell 脚本。
我创建了一个 chroot 用户,并给了他一个主目录。在这个目录中,我创建了一个/bin
目录,并将bash
一些其他文件(如ls, cd, id
和)复制screen
到其中。
之后我列出了每个命令所需的库
例如ldd /bin/bash
并将它们全部复制到 chroot 下的相应目录中/home/userdirectory
。
通过 ssh 客户端登录后,所有命令均能正常工作,但screen
用户会收到以下错误:
getpwuid() cant't identify your account!
我尝试将标准复制/etc/profile
到用户主目录,还有/etc/passwd
。这没什么意义,但我试过了,但这没有帮助。执行并工作,但据我所知,/etc/passwd
它只设置$PS1
并检查条目。/etc/profile.d
错误来自 screen 命令。我确信这一点,因为我检查了可执行文件中的字符串。我这里遗漏了什么?