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

这里以启动tomcat为例

一、安装tomcat不介绍了,本身百度

二、测试可否使用,略

三、建立tomcat用户

useradd tomcat -s /sbin/nologinnginx

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

四、启动

sudo -u tomcat tomcat/bin/startup.sh安全

这里报错:找不到Java_homebash

思考:配置了全局环境变量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代理

 

不足之处:日志

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

相关文章
相关标签/搜索