web-dev-qa-db-ja.com

OSXの管理者としてのSudo権限に関する問題

私はOSXを搭載したMacの管理者であり、rootユーザーを有効にしました。 Sudoを入力せずにターミナルを使用しようとすると、管理者としての特権が認識されないようですが、Sudoを入力してパスワードを入力すると正常に機能します。

また、/ etc/sudoersファイルでSudo権限を手動で付与しようとしましたが、それでもうまくいきません。

NPMを介してインストールを実行すると、「npm ERR!root/Administratorとしてこのコマンドを再度実行してみてください」というメッセージが表示されます。

これはなぜですか?どうすれば修正できますか?

1
Praise

これはOSXの標準的な動作です。管理者であっても、コマンドの前にSudoを付けないと、yourホームディレクトリを除いて、/の下に何も書き込むことができません。 SudoまたはSudo su -(ルートシェルへのアクセスを取得するため)を使用した場合でも、/usr/usr/localを除く)、/binの下にあるものに変更を加えることはできません。ルートレスモード/ SIP(​​システム整合性保護)をリカバリモードから無効にせずに、/sbin/etcなど...コマンドcsrutil disableを使用して無効にすることができます。ルートレスモードはOSX 10.11 ElCapitanの新機能であることに注意してください。それでもnpmSudoで動作させることができない場合は、Sudo whoamiを使用してみて、rootが出力されることを確認し、Sudo -u rootを使用してください。

1
Python Kid

ああ....管理者になると、基本的にSudoの能力が得られますが、まだrootではありません。つまりあなたのアカウントはuid = 0ではありません。それが唯一のrootユーザーです。 3つの選択肢があります。

  1. Sudoを使用する(これまでと同じように)
  2. 次のようにrootにsuできます:Sudo su root-
  3. UIDを0に変更できます。

#1をお勧めします。

0
tomlester