我使用 Maven appassembler 插件围绕 Java Spring 应用程序“myapp”生成 Linux 包装脚本。
然后我得到以下目录结构:
/home/myapp/platform/bin/myapp <== Script that I start manually
myapp 脚本具有“-rwxr-xr-x”权限,所有者设置为“myapp:myapp”,脚本设置为以用户“myapp”运行(在构建时从 Maven 设置中设置)。
现在从根我发出以下命令:
$ sudo ln -s /home/myapp/platform/bin/myapp /etc/init.d/service_myapp
它使用“lrwxrwxrwx”权限和“root:root”作为所有者创建一个符号链接,并指向我的 myapp 脚本。我认为这足以让这个脚本在启动时执行。但是它似乎没有运行。如果我像这样手动运行它:
$ cd /etc/init.d/
$ ./service_myapp
然后在执行之前提示我输入密码。
谁能解释这里发生了什么和/或我做错了什么?
我也试过这个:
$ cd /etc/init.d/
$ update-rc.d service_myapp defaults 20
但得到这个:
update-rc.d: warning: /etc/init.d/service_myapp missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/service_myapp ...
/etc/rc0.d/K20service_myapp -> ../init.d/service_myapp
update-rc.d: symlink: Permission denied