强制 Ubuntu 用户使用特定 shell

强制 Ubuntu 用户使用特定 shell

多年来,我一直在阅读有关超级用户的有用问题/答案,今天轮到我了。我正在玩“lshell”,这是一个用 python 编写的 Linux shell(github 上的 lshell),它允许将用户输入到控制台的命令列入白名单。成功安装后,shell 将被放置在

/usr/bin/lshell

使用以下命令

chsh -s /usr/bin/lshell startup

我将 shell 更改为对名为 startup 的用户处于活动状态。现在用户 startup 登录并执行以下列入白名单的命令

./start.sh

这会启动一个小型 Java 应用程序,该应用程序本身可以在命令行上执行命令。但现在该应用程序可以运行所有可用命令,而无需考虑白名单。一个简单的

which bash

通过 Java 应用程序返回

/bin/bash

作为当前 shell。是否有可能强制用户使用白名单 shell?我认为这不是 lshell 的问题。我尝试使用 rbash 执行相同的过程并得到相同的结果。

提前致谢!

相关内容