Vit*_*lov 9 unix sudo permissions homebrew macos
全新安装 OS X 后,我决定以正确的方式安装 python 包管理器。所以我开始谷歌搜索,发现自制软件是最好的方法。现在我有两个问题:
Homebrew 旨在无需使用 sudo 即可工作。
但是安装脚本要求输入密码。那是因为实际用户被授予读取、写入、执行 usr/local... 目录的权限,因为它是 admin 的组成员。因此,homebrew 不是每次都询问 sudo,而是询问一次。尽管如此,规则已被打破,因为您必须使用 sudo yes 或 yes。
我害怕在安装软件包时将 sudo 与 python 一起使用。这就是我决定使用自制软件的原因。但实际上不一样吗?
如果这是真的,我认为让自制程序做你想做的事情是不安全的,因为它们有 root 权限。
/usr/local/bin 已经在您的 PATH 中。
那为什么我需要
在 PATH 的顶部插入 Homebrew 目录
正如在http://docs.python-guide.org/en/latest/starting/install/osx/ 中所说的那样?
命令自制软件的安装脚本执行:
/usr/bin/sudo /bin/chmod g+rwx /usr/local/. /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig
/usr/bin/sudo /usr/bin/chgrp admin /usr/local/. /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)
小智 5
他们说将/usr/local/bin/
其放在顶部$PATH
,以便在系统程序之前找到自制程序。例如,如果您使用 python 的自制版本,则系统一in/usr/bin/python
将会在您的./usr/local/bin/python
/usr/local/bin
/usr/bin
$PATH
/usr/local/bin
$PATH
哇哦,谁说安装的程序有root权限的?sudo
用于授予您写入受保护目录的权限,以便您可以将内容安装到系统文件夹中。root 权限不会被您安装的程序神奇地继承。它们像所有程序一样安装,并具有它们应有的任何权限。安装sudo
不会提升已安装文件的权限。
至于$PATH
,如果自制软件已安装到/usr/local/bin
并且已经在您的系统中$PATH
,那么您不需要执行任何操作。