使所有用户都可以执行二进制文件

使所有用户都可以执行二进制文件

假设我有 flutter 二进制文件,~/flutter/bin/flutter具有用户、组和其他人的执行权限。我想让系统中的所有用户都可以访问或执行二进制文件。

由于该二进制文件已经具有其他人的可执行权限,

使二进制可执行文件从任何地方都可以使每个用户都可以访问它吗?如果是这样,我在哪里设置 PATH 使其可以从任何地方执行?PATH=$PATH:/home/username/flutter/bin那么设置就/etc/bash.bashrc解决source /etc/bash.bashrc了吗?

我知道人们进来PATH=$PATH:~/flutter/bin~/.bashrc。但这使得二进制文件只能对用户执行,对吗?

/etc/environment设置 PATH和 设置 in有什么区别/etc/bash.bashrc

下面提到的其他方法怎么样?

  1. 复制~/flutter/*/opt/然后设置PATH=$PATH:/opt/flutter/bin进去/etc/bash.bashrc

  2. ~/flutter/bin/flutter创建一个指向PATH 变量中提到的任何路径的符号链接/usr/local/bin/usr/bin

答案1

以下内容将起作用,并且可以根据需要进行修改:

  1. 如果它是二进制文件而没有其他内容,请将其复制到Linux 和大多数类 Unix 操作系统的/usr/local/bin默认位置。PATH

  2. 将其复制到/opt(或在必要时在此处构建),然后:

    导出 PATH=/opt/flutter/bin:$PATH

如果这是一个常见的 Linux 发行版,例如 Fedora/Debian/Ubuntu 及其衍生品、Arch 等,则可以/etc/profile.d/flutter.sh使用上述内容创建一个文件(或者以任何所需的名称结尾,.sh以便在 中bash,它将源文件和登录并将目录添加到每个人的路径中。这仅在登录时获取,/etc/profile等等/etc/bash.bashrc。如果需要在启动新的 shell 会话时将该目录添加到 PATH,则必须将其添加到用户的 shell 中。初始化脚本,例如~/.bashrc~/.bash_profile~/.kshrc等。

如果需要,您可以反转顺序,但我这样做是为了确保它flutter首先在该目录中找到二进制文件,以防它位于其他地方。此外,它具有文件所在目录的完整路径,而不是二进制文件本身的完整路径。

您不想将其存储在用户的主目录中,因为访问它需要在用户的主目录上添加执行位,这将使每个人都可以访问它,这可能是不需要的,因为默认掩码是 022,除非它被更改和/或用户的权限位被删除。这就是为什么我建议将其放置在其他地方。链接也需要同样的东西。

相关内容