我在一些Tomcat指南中读到了以nologin
作为shell的用户运行Tomcat,以防止该用户在Tomcat中出现安全漏洞时能够使用shell。 / p>
我尝试使用setuid (-rws---r-x)
以及使用su -s /bin/sh my_nologin_user myscript.sh
作为此用户执行脚本,但我发现它能够执行pwd
之类的命令
ps -ef
grep
。
显然我误解了这一点,但是我无法看到使用nologin作为shell的重点是,如果可以编辑Tomcat启动脚本来执行任何shell命令(如果被黑客入侵)。
答案 0 :(得分:3)
nologin shell只能阻止:登录。任何系统登录服务 - 各种ttys,sshd等都将拒绝访问,因为它们运行login
可执行文件,但失败了。一旦在该用户ID下运行不受信任的代码,nologin shell将不会阻止任何人通过shell运行任意命令。
使用nologin作为shell的重点是,有人不能以相关用户的身份ssh / telnet进入你的系统 - 只要所述服务使用默认配置并运行login
(可能)伪)tty。