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 次 |
最近记录: |