在Redhat上使用“nologin”shell运行进程

时间:2012-08-13 14:59:12

标签: linux redhat

我在一些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命令(如果被黑客入侵)。

1 个答案:

答案 0 :(得分:3)

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

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