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

Posted 染红の街道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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端口缘故、?但是关闭了也没用

以上是关于Root用户让其他用户运行某程序的主要内容,如果未能解决你的问题,请参考以下文章

怎样将mount权限给普通用户

让Ubuntu 18.04系统支持root用户登录的方法

允许非 root 用户处理.setuid 给某些其他用户

如何配置linux可以让普通用户使用80端口或1024以下的端口

linux下如何让一个普通用户开机执行自己的一个脚本,不用root权限

让其他用户使用oh-my-zsh