回答:
MacOS Xでは、rootユーザーはデフォルトで無効になっているため、機能しませsuん。他の人が述べているように、を使用するのが最善sudoです。
ルートユーザーを有効にする必要がある場合は、Appleの技術情報「Mac OS Xで「ルート」ユーザーを有効にして使用する」を参照してください。
sudo su、その時点で無効にするポイントはsu何ですか?
su」ことではなく、rootログインを防ぐことです。としてのログインを禁止することによりroot、多数の潜在的なセキュリティ問題を防ぎます。できる人を許可しないことsudoにsu一種愚かなのです。基本的には、su単に現在のユーザーIDを変更し、コマンド(指定されていない場合はシェル)を実行します。user-idがすでに0(ルート)である場合(たとえば、で実行する場合)、実行するsudoことは何もないため、シェルを実行するだけです。を実行することで同様の効果を得ることができますsudo bash。
2つのオプションがあります。最初は使用sudo -sすることです-これはスーパーユーザーのアクセスを許可しますが、あなたはまだ「自分」のままです(いわば)ので、~あなたのホームディレクトリのままです。または、を使用してsudo su、Macの実際のrootユーザーとしてシェルを提供できます。
sudo、ルートシェルに切り替えてそこから作業するのではなく、昇格した特権を必要とするコマンドを実行するために使用します。
sudo精神を極限まで持っていると言えるでしょう。しかし、何でも:セマンティクス。OS X.のルートシェルを使用しないでください
「通常の」ユーザーとしてこれを行うことはできないと思います...
管理者権限を持つ別のユーザーアカウントがある場合は、このアカウントを使用する必要があります
restricted user$ su
Password:(the root password here)
Sorry!
restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
sudo -u別の用途として実行するには、を使用しますsudo -u。
たとえば、nanoなどのテキストエディタを実行するには、次のようにします。
sudo -u someuser nano
…プロンプトが表示されたら、Mac管理者ユーザーのパスワードを入力します。この時点では、パスワードを入力しないようにsudo、ユーザーではなくMac管理者ユーザーを呼び出しsomeuserていsomeuserます。
sudo スーパーユーザー特権を使用して何かを実行することを意味します。-u 「この指定されたユーザーとして指定されたコマンドを実行する」ことを意味します。someuser 希望のユーザー名に置き換える必要があります。スタートアップスクリプトの実行など、特定のユーザーとしての初期ログインをシミュレートするには、を使用します-I。
sudo -u someuser -i nano
これは、nanoユーザーとしてsomeuser起動スクリプトを実行した後にのみ、ユーザーとしてアプリを実行します。
実行するコマンドまたはアプリを指定しないことを選択した場合、そのユーザーとして実行されている対話型シェルが取得されます。
sudo -u someuser -i
sudo su someuser別のアプローチでは、suコマンドとを組み合わせて使用しsudoます。suこのコマンドは、「スイッチのユーザー」を意味します。
sudo su someuser
または、ユーザーの起動スクリプトの実行を含めるには、ハイフンを追加します。
sudo su - someuser
root ユーザーrootUnix関連のオペレーティングシステムのユーザーは、何でもできる絶対的な力を持っています。
Appleはroot、macOSでアカウントを無効にし、セキュリティ脆弱性の悪用を回避し、あなたが自分の足で撃つのを防ぐことを選択しました。Appleは、多くの権限を持ち、標準ユーザーアカウントよりも多くの権限を持つが、持っているような絶対的な権限を持たない管理者ユーザーアカウントのアイデアを作成しました。議論については、このAppleサポートノートを参照してください。root
必要であれば、あなたはできる有効rootMacOSの中で、ユーザをして、そのユーザーに切り替え。これは強く推奨されていません。必死の最後の手段としてのみこの道をたどります。
macOSでPostgresデータベースシステムをpostgres実行しているユーザーのコンテキスト内でこれについての説明は、姉妹サイトDBA Stack Exchangeでこの質問を参照してください。
sudo suそれでも機能するため、実際には無効になっていません。パスワードがありません。