cmake install / make install 到 /usr/local/bin 后,用户无法执行二进制文件(权限被拒绝)

cmake install / make install 到 /usr/local/bin 后,用户无法执行二进制文件(权限被拒绝)

sudo cmake install当我使用或命令在 Debian (Buster) 机器上安装任何项目后sudo make install,二进制文件会被放置在里面/usr/local/bin,但尽管 PATH 变量设置正确,即使在重新启动后,bash 或 Fish 也无法找到以这种方式安装的二进制文件的命令。

cmake到目前为止,这已经发生了nvim。例如nvim,我遵循从源代码构建的说明:

  1. 使用 git 克隆存储库
  2. 使 CMAKE_BUILD_TYPE=发布
  3. 须藤进行安装

现在,如果我运行nvim,则找不到该命令,但如果我运行,则sudo nvim二进制文件会正确启动。

我比较了内部无需 sudo 权限即可完美执行的二进制文件的文件权限/usr/bin,它们与内部二进制文件的权限完全相同/usr/local/bin

-rwxr-xr-x 1 root root

我做错了什么,为什么/usr/bin没有 sudo 的可执行文件中的二进制文件和从源代码安装的文件/usr/local/bin不是?

这是我的路径变量: /usr/local/bin:/usr/bin:/bin:/usr/games

附加信息:如果我运行:/usr/local/bin/nvim这是输出: fish: The file “/usr/local/bin/nvim” is not executable by this user

如果我运行type -a nvim输出是: type: Could not find 'nvim'

如果我运行sudo ./pathlld /usr/local/bin/nvim我会得到以下输出:

drwxr-xr-x 19 root root 4096 Dec 22 12:17 /
/dev/nvme0n1p2 on / type ext4 (rw,relatime)
drwxr-xr-x 14 root root 4096 May  5 13:19 /usr
drwxr-xr-x 7 root root 4096 Mar 24 15:51 /usr/local
drwx------ 2 root root 4096 May  5 14:21 /usr/local/bin
-rwxr-xr-x 1 root root 10319072 May  5 14:21 /usr/local/bin/nvim

我正在运行西门子公司的定制操作系统,称为“西门子工业操作系统”;它基本上是一个带有实时补丁的 Debian Buster。

答案1

问题是这样的:

drwx------ 2 root root 4096 May  5 14:21 /usr/local/bin

组和其他人没有执行和读取权限/usr/local/bin。以 root 身份运行:

chmod 755 /usr/local/bin

恢复此目录的标准权限。

相关内容