我需要代表tomcat
用户运行tomcat。但在/etc/passwd
我有以下几行:
tomcat:x:505:506::/usr/share/tomcat:/bin/nologin
所以,当我尝试这样做时:sudo su tomcat ./bin/startup.sh
抱怨:su: /bin/nologin: No such file or directory
如何使用适当的权限执行命令?
提前致谢!
P.S。我正在尝试对配置及其生产进行逆向工程。所以我必须要精致......
答案 0 :(得分:6)
尝试跑步:
sudo -u tomcat ./bin/startup.sh
通过避免su
,您可以避免尝试调用用户的登录shell。
答案 1 :(得分:0)
您可以使用-s
选项
sudo su -s /bin/bash -c ./bin/startup.sh tomcat
答案 2 :(得分:0)
实际上,最好的方法是通过 runuser
手册页在http://man7.org/linux/man-pages/man1/runuser.1.html
这个工具用于处理开发人员在他的bolg中所说的情况