森托斯 8.
有snowuser
:
[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser
snowuser:x:1002:1002::/home/snowuser:/bin/bash
[snowuser@snowcannon-01 ~]$ groups
snowuser wheel
有tomcat
用户:
[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep tomcat
tomcat:x:1003:1003::/opt/tomcat:/bin/false
cat /etc/group | grep "tomcat\|snowuser"
wheel:x:10:ydyachuk,amsliusar,snowuser
snowuser:x:1002:
tomcat:x:1003:
尝试在tomcat
用户下运行 Tomcat 的启动脚本:
/bin/su tomcat -c /opt/tomcat/bin/startup.sh
但是没有任何意义,既没有出现任何错误消息,也没有执行Tomcat进程。
我只有一个细节是该命令正在执行时出现错误:
[snowuser@snowcannon-01 ~]$ echo $?
1
似乎tomcat
用户对脚本执行具有适当的权限:
[snowuser@snowcannon-01 ~]$ ll /opt/tomcat/bin/startup.sh
-rwxr-xr-x. 1 tomcat tomcat 1904 Nov 11 15:14 /opt/tomcat/bin/startup.sh
如何让 Tomcat 运行?
将默认shell设置为
/bin/false
意味着su
将切换用户,然后执行您可以使用
-s
选项来su
覆盖 中的设置,但仅当调用用户是 root 或 中列出/etc/passwd
的现有条目时才允许这样做。/etc/passwd
/etc/shells