gpt4 book ai didi

Java 程序(class > .jar)作为 Unix shell(代替 sh/bash)?

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:34 25 4
gpt4 key购买 nike

我希望将 Java 程序(编译类 > .jar 文件)作为我的 Unix shell 运行。基本上,我不希望涉及 sh 或 bash,因为这样用户就可以退出/暂停我的 Java 程序并访问 unix shell。

这可能吗?

我需要使用 jail/chroot 吗?

是否像编辑/etc/shells 并将 java -jar ... 命令放在那里一样简单?

或者,如果我必须使用 sh/bash,我能否在我的 java/vm 过期或卸载时自动退出 shell(这样就没有人可以将 Java 应用程序转义到 bash/sh shell 本身)?

最佳答案

第一步:创建一个包装器 shell 脚本 /usr/bin/myjavashell:

#!/bin/sh
exec /usr/bin/java -jar /usr/local/whatever/file.jar

第二步:使其可执行:chmod +x/usr/bin/myjavashell

第三步:将/usr/bin/myjavashell添加到/etc/shells

第四步:使用 chsh -s/usr/bin/myjavashell youruser 将其设置为用户的登录 shell。

可选步骤五:在 /etc/ssh/sshd_config 中,禁用任何您不希望用户能够执行的不需要 shell 的附加选项,例如 tcp 转发:

Match User youruser
AllowTcpForwarding False

关于Java 程序(class > .jar)作为 Unix shell(代替 sh/bash)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com