Root用户让其他用户运行某程序

这里以启动tomcat为例

1、安装tomcat不介绍了,自己百度

2、测试能否使用,略

3、创建tomcat用户

useradd tomcat -s /sbin/nologin

创建tomcat,禁止登陆,用户目录用来存放日志

4、启动

sudo -u tomcat tomcat/bin/startup.sh

这里报错:找不到Java_home

思考:配置了全局环境变量JAVA_HOME,都能使用,为啥sudo就失败?会不会是sudo也有个.bashrc类似的,里面不存在?

验证:sudo -E env,一看果然没有JAVA_HOME

原因:sudo 为了安全使用一套特殊的环境变量,参见/etc/sudoers 里面有个Defaults /bin/bash:/sbin/bash

修改:加入jdk的目录,如图

最后再试下:sudo -u tomcat tomcat/bin/startup.sh

 

不足之处:

1、http://xxx:8080/manager/进去不会弹出输入用户名密码的框,而http://xxx/manager可以弹出框,原因未知;;;;;或许是我nginx代理了80端口缘故、?但是关闭了也没用

posted @ 2018-06-01 11:35  染红の街道  阅读(446)  评论(0编辑  收藏  举报