我正在尝试制作一台服务器,充当许多其他机器的访问点。我想授予一个用户对其的访问权限,以便他们可以通过 ssh 连接到网络中的其他计算机。
我已经让监狱可以正常工作,并且具有 ssh + bash 的所有依赖项。
当我尝试运行 ssh 时得到的只是
-bash-3.2$ ssh
You don't exist, go away!
我读到这通常是因为你没有 /etc/group 或 /etc/passwd 文件,好吧,我的用户在那里。
我尝试将 getent 复制到监狱中并运行它,但我在数据库中没有得到用户或组的任何信息。另外,我把 id 放在监狱里,看起来也没错,所以 linux 知道我是谁,但 ssh 不知道。
似乎没有任何关于此的记录,我有什么办法可以知道发生了什么或没有发生什么。
答案1
您需要 lib64 目录中的“libnss*”文件,互联网上的许多脚本尚未更新以考虑到这一点。