如何阻止 Ubuntu 16.04 用户退出 rbash?

如何阻止 Ubuntu 16.04 用户退出 rbash?

在 上Ubuntu 16.04,我想限制特定用户对rbash.我已将用户的登录 shell 设置为rbash使用以下命令:

usermod -s /bin/rbash localuser

当我ssh以该用户身份进入框中并输入:

/bin/bash

用户可以退出rbashshell 并使用bash.

如何限制该用户对 的访问rbash,并阻止他切换到bash

答案1

如果您喜欢使用此功能,则应该在文件中设置特殊代码,该代码仅由具有以 开头/etc/profile的最后一个路径组件(请参阅 参考资料)的 shell 执行,并为受限制的 shell设置特殊代码。$0rPATH

例如,设置一个目录/usr/rbin,使其成为唯一的PATH元素,并安装指向受限制用户应允许调用的命令的链接。请非常小心地选择此选项并避免允许 shell 转义的命令。请注意,ed称为 asred是一个安全的编辑器。

注意/etc/profile,执行后就PATH不能再修改了。如果您不这样做,rbash用户将拥有通常的权限PATH,因此可以调用bash以获取默认版本的bash.

您应该进行一些实验,以确保您所做的一切都是正确的。不幸的是,bash手册页并没有真正的帮助,所以让我指向受限手册页以获取Bourne Shell更多信息: http://schillix.sourceforge.net/man/man1m/rsh.1m.html

这提到$HOME/.profile允许对 进行更改PATH,因此如果这也适用于rbash,则您需要使$HOME/.profile用户不可修改。您可以immutable通过 BSD 文件标志创建此文件来完成此操作。

相关内容