我正在制作一个基于文本的 RPG,并且想在某个用户登录时运行一个 bash 脚本(脚本基本上是 lua,然后一旦文件完成,注销),但我不希望用户访问 shell ,并且我希望它在完成后立即注销。
我不知道如何制作脚本,所以 ctrl+c 不会停止它并为用户提供 shell 访问权限..
我用谷歌搜索过,但我一定没有使用正确的短语......
如果有人可以帮助我,那将不胜感激。
他们将通过 SSH 登录
您可以尝试将脚本设置为用户的默认 shell:
chsh -s /usr/local/the_script theuser
然后脚本将代替默认 shell 运行,并且用户将在脚本结束时注销。
您将需要添加脚本以/etc/shells
使其被接受为有效的登录 shell。
免责声明:这种方法可能存在其他安全隐患,因此在将其部署到生产系统之前,请多加注意并进一步研究它。例如,如果适用,您可能希望在受限模式下运行脚本。
他们真的需要登录还是游戏的一部分 - 如果它是游戏的一部分,请假装它。
您可以通过以下命令将键盘中断的快捷方式更改为默认值以外的快捷方式:
stty intr yourkey
对于Ctrl+ Key,将函数映射到^C
(if Ctrl+ C)。
据我所知,您不能将任何 stty 函数映射到shift+key或shift++ 。ctrlkey