OS XおよびUbuntuにルートパスワードはありますか?


13

新しいUbuntuまたはOS Xインストールをセットアップすると、一般的にユーザーが作成されます。OS Xでは、任意のユーザー名を選択します。Ubuntu(サーバーバージョン)では、通常、ubuntuユーザーが作成されます。

私が理解しているように、rootユーザーもあります。これには、などの方法でアクセスでき、管理者グループの一部であるsudo su - rootubuntuまたは作成したユーザーのパスワードを入力します。に切り替えたらrootpasswdコマンドを使用してルートのパスワードを変更できると思います。

しかし、rootその前のパスワードは何でしたか?存在しますか?数字と文字のランダムな文字列ですか?システムはそれをどのように処理しますか?


1
Ubuntuでは、必要なのはのみですsudo surootアカウントは、デフォルトでは想定されます。
ネイサンオスマン

1
Ubuntuでは、非rootユーザーにsu切り替えるためにのみ必要です。ルートとして単一のコマンドを実行するには、と入力します。ルートシェルを取得するには、と入力します。sudo commandsudo -i
スコットセブランス

また、ubuntuフォーラムの誰かにrootパスワードの設定方法、またはlivecdを介したブートとユーザーパスワードのリセット方法を教えれば、30日間アカウントを禁止することができます。人々が本当にあなたがrootのパスワード設定を持つ必要はありません、彼らはあなたが常にsudoを使いたい
ivanivan

回答:


12

Ubuntuについてのみ回答できます。
Ubuntuでは、rootユーザーはロックされたパスワードを持っています。passwdmanページから:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

あなたは見ることができます!では/etc/shadow

ロックされたアカウントを持つユーザーはパスワードを変更できませんが、rootは古いパスワードを事前に入力しなければ変更できません。


10

OSXで実際のrootユーザーをロック解除(?)または作成する方法は次のとおりです。

  1. システム環境設定
  2. ユーザーとグループ
  3. ログインオプション(ロックをクリックしてここで認証)
  4. [参加]をクリックします(NAS)
  5. オープンディレクトリユーティリティ
  6. ロックをクリック(再度認証)
  7. [編集]メニュー->ルートユーザーの有効化
  8. (編集メニュー->ルートパスワードの変更)

楽しい !


Mac GUIの適切な説明については+1。ルートアカウントをアクティブにするコマンドラインの方法しか知りませんでした。
アンドリューJ.ブレム

ええ、Appleカスタマーケアの担当者がこれを行うための手順を説明してくれたときは驚きました...「隠された」状態を保つのは秘密だと思いました。
ヨッシファージュン

7

enzotibが言ったように、Ubuntuにはrootアカウントがありますが、デフォルトではロックされています。

さて、Macについて:

おそらく推測できるように、rootは(すべてのデーモンアカウントと共に)[設定]の[ユーザーとグループ]セクションに表示されません。

私のMacを見る/etc/passwdと、のエントリとrootメッセージがあります

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Open Directoryのユーザーリストを見つけようとしましたが、成功しませんでしたが、構成には、暗黙のうちにroot権限を明示的に与えるという言及がありました。マシンを最初にセットアップしたときにrootパスワードの入力を求められることはなかったので、ubuntuの場合と同様にrootアカウントがロックされていると思います。私はrootにパスワードを与えて、それを使ってログインしようとはしませんでした(そして本当にしたくありません)が、おそらくできるでしょう。

passwd行:

root:*:0:0:System Administrator:/var/root:/bin/sh

keithのコメントからのperlコマンドは:0、最後にa を追加します。パスワードハッシュなし。見つけることができるシャドウファイルもありません。ルートにパスワードがあるかどうかを確認するためにどこにも見つけることができませんでした。


の出力はperl -e 'print join(":", getpwuid(0)), "\n"'何ですか?(:ハッシュ化されたパスワードのようなものが含まれている場合は、ここに投稿しないでください。)
キーストンプソン

@KeithThompsonが投稿したが、特別なことは何もない。ハッシュについては知っていますが、そうでないユーザーへの警告を含めて感謝しています。
ケビン

1
独自のuidを持つ同じPerlコマンドはどうですか?ハッシュ化されたパスワードは表示されますか?(再び、明らかに、ハッシュを投稿しないでください。)
キーストンプソン

1
うーん。おそらくgetpwuid()、MacOSでは、機密情報の公開を避けるために、意図的にそれを行います(ただし、ハッシュされたパスワードにアクセスできるものが必要です)。
キーストンプソン

1
私はオンラインで検索してきましたが、彼らは最後のOSに影があったようですが、ライオンにはそれを見つけることができません。
ケビン

7

Mac OS Xのルートパスワードは、オープンディレクトリに保存されます(Kevinが言及)。rootユーザーの存在を確認するには、単純なgrepが必要です。

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Open Directoryからルートパスワード情報を読み取るには:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

デフォルトの場合(示されているように)、rootユーザーにはパスワードハッシュセットがありません(アカウントはロックされています)。この設定を「通常の」ユーザーのODの値と比較できます。

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data

2

Ubuntuは、指定されたユーザーのパスワードを設定し、システム全体のソフトウェアとディレクトリおよびホームディレクトリ以外のファイルの削除/実行をインストールおよび削除するスーパーユーザー(ルート)レベルのタスクに使用します。ルートアカウントは実際には配置されていますが、パスワードが割り当てられていないため、少し隠されています。CanonicalおよびUbuntuの使用規則により、実質的に直接呼び出すことはできません。

一般的な「ubuntu」アカウントを設定するのではなく、名前付きユーザーアカウントを設定します。それは少なくともインストールされたシステムの場合です。ライブCDを使用している場合は、一般的な「ubuntu」アカウントが適切に設定されている可能性があります。覚えていないのですが、ライブCDを数年間使用していません。

MacOsXの動作は実際には非常に似ています。パスワードの設定を求められます。パスワードは、ソフトウェアのインストールやアップグレードなどのスーパーユーザーレベルのタスクを実行しようとするたびに呼び出されますが、「root」という名前のアカウントはありません。


3
実際にはルート「ユーザー」がいると思います。suルートにすることができ、ルートにはホームディレクトリがあり、ファイルはルートが所有できます。ルートアカウントがないという議論に引用を提供できますか?
cwd

3
確かに明示的なルートアカウント(uid 0、名前「root」)があります。Unixライクなシステム上に存在する必要があります。パスワードを持たないだけです(少なくともデフォルトでは)。:あなたもrootシェルを取得することができsudo bash -l、その後、入力しますwhoami。(通常sudo、rootとして実行される対話型シェルを使用するのではなく、個々のコマンドに使用する必要があります。)
キーストンプソン

あなたはおそらく正しい、私はあなたに質問していません。ルートアカウントがある場合、彼らはそれを隠すのに良い仕事をしました。また、一部のマシンとVMでFedoraを使用していますが、rootは非常にアクティブなアカウントです。
haziz

1

Ubuntuの場合:デフォルトでは、新しく作成したユーザーアカウントにアクセスできます。

ルートとして任意のコマンドを実行するには、使用できます

sudo command

次に、通常のパスワードを入力します。

ルートアカウントはデフォルトでロックされています。コマンドラインでルートを有効にするには、単に入力します

sudo passwd

次に、ログインしているユーザーのパスワードを入力してから、rootの新しいパスワードを入力します。これで、rootとしてログインしてsu から、rootのパスワードを入力できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.