在 上Ubuntu 16.04
,我想限制特定用户对rbash
.我已将用户的登录 shell 设置为rbash
使用以下命令:
usermod -s /bin/rbash localuser
当我ssh
以该用户身份进入框中并输入:
/bin/bash
用户可以退出rbash
shell 并使用bash
.
如何限制该用户对 的访问rbash
,并阻止他切换到bash
?
答案1
如果您喜欢使用此功能,则应该在文件中设置特殊代码,该代码仅由具有以 开头/etc/profile
的最后一个路径组件(请参阅 参考资料)的 shell 执行,并为受限制的 shell设置特殊代码。$0
r
PATH
例如,设置一个目录/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 文件标志创建此文件来完成此操作。