强制不间断的bash脚本在登录SSH上运行

时间:2012-12-14 09:47:01

标签: linux bash ssh

我正在创建一个基于文本的RPG,并希望在某个用户登录时运行一个bash脚本(该脚本基本上是lua然后一旦文件完成,注销)但我不希望用户访问shell,我希望它在完成后立即注销。

我不知道如何编写脚本,所以ctrl + c不会停止它并给用户shell访问..

我用谷歌搜索,但我一定不能使用正确的短语......

如果有人可以帮助我,那将非常感激。

他们将通过SSH登录

3 个答案:

答案 0 :(得分:3)

您可以尝试将脚本设置为用户的默认shell:

chsh -s /usr/local/the_script theuser

然后将运行脚本代替默认shell,并且在脚本结束时用户将被注销。

您需要将脚本添加到/etc/shells,才能将其作为有效的登录shell接受。

免责声明:此方法可能还有其他安全隐患,因此请在生产系统上进行部署之前先了解一下这些内容并进一步了解它。例如,您可能希望在restricted mode中运行脚本(如果适用)。

答案 1 :(得分:0)

他们确实需要登录或者它是游戏的一部分 - 如果它是游戏的一部分假它。

答案 2 :(得分:0)

您可以通过以下命令将键盘中断的快捷方式更改为默认值以外的其他内容:

stty intr yourkey 

对于 Ctrl + Key ,将函数映射到^C(如果 Ctrl + C )。

据我所知,你不能将任何stty函数映射到 shift + key shift + CTRL +