web-dev-qa-db-ja.com

自作の「no-Sudo」哲学を理解し、質問するFAQ

OS Xを新規インストールしたので、pythonパッケージマネージャーを適切な方法でインストールすることにしました。そこでグーグルを始めて、自作が最善の方法であることがわかりました。2つの質問があります。

  • 自作FAQから:

Homebrewは、Sudoを使用せずに動作するように設計されています。

ただし、インストールスクリプトはパスワードを要求します。これは、実際のユーザーには、管理者のグループメンバーとしてusr/local ... dirsの読み取り、書き込み、実行の権限が付与されているためです。したがって、Sudoに毎回尋ねる代わりに、homebrewは一度尋ねます。それでも、Sudo yesまたはyesを使用する必要があるため、ルールは破られています。

パッケージをインストールするときにpython)でSudoを使用するのが怖かったので、自作を選択しました。しかし、実際には同じではありませんか?

もしこれが本当なら、自作のプログラムにルート権限を持っているので、やりたいことをやらせるのは危険だと思います。

  • 自作FAQから:

/ usr/local/binはすでにPATHにあります。

それならなぜ私はする必要があります

pATHの先頭にHomebrewディレクトリを挿入します

http://docs.python-guide.org/en/latest/starting/install/osx/ で言われているように?

実行されたhomebrewのインストールスクリプトのコマンド:

/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
5
Vito Valov

彼らはあなたの/usr/local/bin/の一番上に$PATHを置いて、自作のプログラムがシステムのプログラムの前に見つかるようにすると言います。たとえば、Pythonの自作バージョンを使用する場合、/usr/bin/pythonbefore/usr/local/bin/pythonでない限り、/usr/local/binのシステムは/usr/binの前に呼び出されます。 $PATHがすでに/usr/local/binにある場合でも、$PATHにあります。

3
SethMMorton

インストールされたプログラムにはroot権限があると誰が言ったのですか? Sudoは、保護されたディレクトリへの書き込み権限をyouに付与して、システムフォルダにインストールできるようにするために使用されます。ルート権限は、インストールするプログラムによって魔法のように継承されることはありません。これらは、すべてのプログラムと同様に、想定されている権限でインストールされます。 Sudoを使用してインストールしても、インストールされているファイルのアクセス許可は上がりません。

$PATHに関しては、自作が/usr/local/binにインストールされていて、それがすでに$PATHにある場合は、何もする必要はありません。

2
terdon