0

我阅读了一些 Tomcat 指南,以使用nologinshell 的用户身份运行 Tomcat,以防止该用户在 Tomcat 中存在安全漏洞时能够使用 shell。

我曾尝试以该用户身份使用 setuid(-rws---r-x)以及使用执行脚本,su -s /bin/sh my_nologin_user myscript.sh但我发现它能够执行类似pwd ps -ef grep.

显然我误解了这一点,但如果可以编辑 Tomcat 启动脚本以执行任何 shell 命令(如果被黑客入侵),我看不出使用 nologin 作为 shell 的意义何在。

4

1 回答 1

3

nologin shell 可以防止这种情况:登录。任何系统登录服务——各种 ttys、sshd 等,都将拒绝访问,因为它们运行login可执行文件,并且失败。一旦不受信任的代码在该用户 ID 下运行,nologin shell 将不会阻止人们通过 shell 运行任意命令。

使用 nologin 作为 shell 的要点是,有人不能以相关用户的身份 ssh/telnet 进入您的系统——只要所述服务使用默认配置并login在(可能是伪的)tty 上运行。

于 2012-08-13T15:04:11.793 回答