Les*_*iev 1 su tomcat centos centos8
森托斯 8.
有snowuser:
[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser
snowuser:x:1002:1002::/home/snowuser:/bin/bash
[snowuser@snowcannon-01 ~]$ groups
snowuser wheel
Run Code Online (Sandbox Code Playgroud)
有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:
Run Code Online (Sandbox Code Playgroud)
尝试在用户下运行Tomcat的启动脚本tomcat:
/bin/su tomcat -c /opt/tomcat/bin/startup.sh
但没有任何意义,既没有出现任何错误消息,也没有执行 Tomcat 进程。
我只有一个细节是该命令执行时出现错误:
[snowuser@snowcannon-01 ~]$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
似乎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
Run Code Online (Sandbox Code Playgroud)
如何让 Tomcat 运行?
设置默认shell为/bin/false表示su会切换用户,然后执行
/bin/false -c /opt/tomcat/bin/startup.sh
Run Code Online (Sandbox Code Playgroud)
您可以使用-s 选项覆盖 中的su设置/etc/passwd,但仅当调用用户是 root 或 中/etc/passwd列出了现有条目时才允许这样做/etc/shells。
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |