回答:
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
ユーザーroot
Unix関連のオペレーティングシステムのユーザーは、何でもできる絶対的な力を持っています。
Appleはroot
、macOSでアカウントを無効にし、セキュリティ脆弱性の悪用を回避し、あなたが自分の足で撃つのを防ぐことを選択しました。Appleは、多くの権限を持ち、標準ユーザーアカウントよりも多くの権限を持つが、持っているような絶対的な権限を持たない管理者ユーザーアカウントのアイデアを作成しました。議論については、このAppleサポートノートを参照してください。root
必要であれば、あなたはできる有効root
MacOSの中で、ユーザをして、そのユーザーに切り替え。これは強く推奨されていません。必死の最後の手段としてのみこの道をたどります。
macOSでPostgresデータベースシステムをpostgres
実行しているユーザーのコンテキスト内でこれについての説明は、姉妹サイトDBA Stack Exchangeでこの質問を参照してください。
sudo su
それでも機能するため、実際には無効になっていません。パスワードがありません。