过去几天一直在与Linux抗争。无论出于何种原因,我无法以特定用户身份开始我的服务。如果我尝试以特定用户身份启动我的服务,它将无效:
sudo -u logAdmin /sbin/service logService start
然而;如果我以root用户身份运行该服务,它将启动。
sudo /sbin/service logService start
我不确定如何解决这个问题。用户肯定存在。当我使用以下方式检查用户时:
grep "^logAdmin" /etc/passwd
我回来了:
logAdmin:x:600:600:logAdmin Application Account:/app:/bin/bash
我还为脚本提供了适当的权限
/etc/init.d和sh文件:
chown logAdmin:logAdmin /app/logService
我注册了这项服务:
/sbin/chkconfig logService on
我还检查了我的用户对init脚本的权限并回来了:
-rwxr-xr-x 1 logAdmin logAdmin 1228 May 11 17:39 /etc/init.d/logService
我已经尝试了一切来使这个工作!为什么它运行sudo root用户但在我尝试以另一个用户启动时不会运行??
答案 0 :(得分:3)
service
必须以root用户身份运行。 initscript负责以不同的用户身份启动应用程序。