Linux——权限被拒绝?

Linux——权限被拒绝?

我正在将 Neo4j 服务器安装为 Linux 服务,但是在安装时收到以下消息:

/sbin/insserv: Permission denied

这是什么?我该怎么办?我正在用 运行一切sudo

更新 - 场景

  1. 我第一次正确安装了它,但后来我将 neo4j 目录移动到了不同的位置。

  2. neo4j-service 现在无法被识别。

  3. /etc/init.d我通过从中删除然后运行来手动删除 neo4j-serviceupdate-rc.d -f neo4j-service remove

  4. 当我重新安装时,它说/sbin/insserv没有这样的目录,所以我用谷歌搜索并执行以下操作:

    ln -s /usr/lib/insserv/insserv /sbin/insserv

  5. 现在,当我重新安装它时,它说 /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 -lahon时/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

  1. 查看/sbin/insserv从命令行手动运行该命令时是否会出现相同的错误
  2. 如果您获得与 #1 相同的权限被拒绝,请尝试使用它来strace查看它在哪个文件或权限上失败。如果 #1 没有给您权限被拒绝,请按照 rsuarez 和 @TomO'Connor 的指导来查看潜在的 upstart 或 Neo4j 问题,因为它可能与二进制文件没有直接关系/sbin/insserv

相关内容