我正在将 Neo4j 服务器安装为 Linux 服务,但是在安装时收到以下消息:
/sbin/insserv: Permission denied
这是什么?我该怎么办?我正在用 运行一切sudo
。
更新 - 场景:
我第一次正确安装了它,但后来我将 neo4j 目录移动到了不同的位置。
neo4j-service 现在无法被识别。
/etc/init.d
我通过从中删除然后运行来手动删除 neo4j-serviceupdate-rc.d -f neo4j-service remove
当我重新安装时,它说
/sbin/insserv
没有这样的目录,所以我用谷歌搜索并执行以下操作:ln -s /usr/lib/insserv/insserv /sbin/insserv
现在,当我重新安装它时,它说
/sbin/insserv: Permission denied
使用Ubuntu。
等/sudoers:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
neo4j 安装脚本的权限:
-rwxr-xr-x 1 username username 15K Feb 27 09:38 neo4j
更新2:
当我执行ls -lah
on时/sbin
:
lrwxrwxrwx 1 root root 16 May 15 20:29 insserv -> /usr/lib/insserv
以及ls -lah
:/usr/lib
drwxr-xr-x 2 root root 4.0K Feb 14 03:37 insserv
答案1
rsuarez 对您的 init/upstart 配置提出了一些很好的观点。但是,不清楚手动以 root 身份运行程序时是否会出现同样的错误。您可以做两件事来直接insserv
调试权限:insserv
- 查看
/sbin/insserv
从命令行手动运行该命令时是否会出现相同的错误 - 如果您获得与 #1 相同的权限被拒绝,请尝试使用它来
strace
查看它在哪个文件或权限上失败。如果 #1 没有给您权限被拒绝,请按照 rsuarez 和 @TomO'Connor 的指导来查看潜在的 upstart 或 Neo4j 问题,因为它可能与二进制文件没有直接关系/sbin/insserv
。