ルートパスワードを変更するにはどうすればよいですか?


回答:


63

邪魔にならないものから邪魔にならないものまで、私が考えられるいくつかの方法を以下に示します。

再起動なし

sudo:sudoを実行する権限がある場合passwd、次のことができます。

sudo passwd root

入力あなたのパスワードを、2回ルートの新しいパスワードを入力します。できた

ファイルの編集:これは、完全なsudoアクセス権を持っていない場合でも機能しますが、編集するアクセス権持っています/etc/{passwd,shadow}。またはで開き/etc/shadowます。ルートのパスワードフィールド(2番目と3番目のコロンの間のすべてのランダムな文字)を自分のユーザーのパスワードフィールドに置き換えます。セーブ。ローカルはあなたと同じパスワードを持っています。ログインしてパスワードを別のものに変更します。sudoedit /etc/shadowsudo $EDITOR /etc/shadow:

これらは簡単なものです。

再起動が必要

シングルユーザーモード:これはレナンによって説明されたばかりです。GRUB(またはブートローダー)にアクセスでき、Linuxコマンドラインを編集できる場合に機能します。Debian、Ubuntu、および他の一部を使用している場合は機能しません。ブートローダーの構成によっては、パスワードを要求する場合があり、続行するにはそれを知っている必要があります。難しい話は抜きにして:

  1. リブート。
  2. ブート時パスワードを入力します(ある場合)。
  3. ブートローダーのメニューに入ります。
  4. シングルユーザーモードが利用可能な場合、それを選択します(Debianはそれを「リカバリモード」と呼びます)。
  5. そうでない場合、GRUBを実行します。
    1. 通常のブートオプションを強調表示します。
    2. を押しeて編集モードに入ります。そこでGRUBパスワードの入力を求められる場合があります。
    3. kernelまたはで始まる行を強調表示しlinuxます。
    4. を押しeます。
    5. 最後に「single」という単語を追加します。(スペースを追加することを忘れないでください!)
    6. Enter編集したスタンザを押して起動します。一部のGRUBはCtrl-を使用しX、一部は使用しますb。画面の一番下にあるものを示します。

システムはシングルユーザーモードで起動します。一部のディストリビューションは、この時点でrootパスワードを要求しません(DebianおよびDebianベースのものはそうします)。あなたは今ルートです。パスワードを変更してください:

mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot

およびreboot、または、通常のランレベルがわかっている場合は、telinit 2(またはそれが何であれ)と言います。

置換init:表面的にはシングルユーザーモードのトリックに似ており、ほぼ同じ手順を使用しますが、コマンドラインにははるかに高度な機能が必要です。上記のようにカーネルを起動しますが、代わりにsingleを追加しinit=/bin/shます。これが実行される/bin/shの代わりにinit、そしてあなたを与えるだろう非常にほとんどの設備が早期に殻を。この時点での目的は次のとおりです。

  1. ルートボリュームをマウントします。
  2. 取得しpasswd実行しています。
  3. passwdコマンドでパスワードを変更します。

特定のセットアップに応じて、これらは単純なもの(シングルユーザーモードの手順と同じ)または非常に重要なものです。モジュールのロード、ソフトウェアRAIDの初期化、暗号化されたボリュームのオープン、LVMの起動などです。なしではinit、デーモンや他のプロセスを実行していませんが/bin/sh、その子プロセスであるため、文字通り自分で実行できます。また、ジョブを制御できないため、入力する文字に注意してください。置き忘れたcatため、抜け出せない場合は再起動する必要があります。

Rescue Disk:これは簡単です。選択したレスキューディスクを起動します。ルートファイルシステムをマウントします。このプロセスは、ボリュームの階層構造によって異なりますが、最終的には次のようになります。

 # do some stuff to make your root volume available.
 # The rescue disk may, or may not do it automatically.
 mkdir /tmp/my-root
 mount /dev/$SOME_ROOT_DEV /tmp/my-root
 $EDITOR /tmp/my-root/etc/shadow
 # Follow the `/etc/shadow` editing instructions near the top
 cd /
 umount /tmp/my-root
 reboot

明らかに、$SOME_ROOT_DEVレスキューディスクによってルートファイルシステムに割り当てられたブロックデバイス名で$EDITORあり、お気に入りのエディターです(viレスキューシステム上にある必要があります)。の後、rebootマシンが正常に起動できるようにします。ルートのパスワードは自分のユーザーのパスワードになります。ルートとしてログインし、すぐに変更します。

他の方法

明らかに、上記には無数のバリエーションがあります。それらはすべて2つのステップに要約されます。

  1. コンピューターへのルートアクセスを取得します(catch-22 —そして本当のトリック)
  2. ルートのパスワードを何らかの方法で変更します。

とにかくこれをリモートで行うには?SSHがシャットダウンしたと仮定します。
CMCDragonkai 14年

1
SSHがなければ(または、rshやtelnetのような恐ろしく安全でない方法を想定)、マシンへのリモートアクセスがないため、パスワードを変更できません。もちろん、ターゲットコンピュータに、何らかの形でシェルを生成するのに役立つ既知のリモートで悪用可能な問題がない限り。この考えは、そこで実行されているtelnetデーモンよりも恐ろしいものです。:)
アレクシオス14年

それを修正するには物理的にテレポートする必要がありますか?
CMCDragonkai 14年

WRT「何らかの方法でルートのパスワードを変更する」、こちらを参照してください:unix.stackexchange.com/a/168422/25985
goldilocks

7

これはどんなディストリビューションでも機能するはずです。

ライブCDなどの別のシステムからルートパーティションにアクセスできる場合は、そこからルートとして編集でき/etc/shadowます。最初にする必要がありchmod u+w shadowます。のエントリを見つけます。これはrootおそらく最初のエントリであり、次のようになります。

root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::

最初の2つのコロンの間のすべてを消去して、次のようにします。

root::15666:0:99999:7:::

それからchmod u-w shadow。これでシステムを再起動でき、rootにはパスワードがありません。rootログインプロンプトで入力するだけで、プロンプトは表示されません。その後、passwd1つを設定するために使用できます。

特に注意してください:

  • /etc/shadow最初のバックアップコピーを作成します。
  • 新しいパスワードを設定するまで、root以外のユーザーとしてログインしないでください。これは重要ではありませんが、特権のないマルウェアが何らかのailを通過させるという理論的な可能性から保護します(「ねえ、ルートパスワードがないかもしれません...」)。ちょっと遠いIMO。

それは機能しますが、少年はルートアカウントのパスワードを削除することを*私*にさせます。Ubuntuはランレベル1のルートシェルにドロップしませんか?またはpasswd、ライブCDからchroot環境で実行することをお勧めしませんか?
セーラーサイア

他の方法を最初に試してみて安全だと感じたら、先に進んでください。ただし、システムにrootパスワードがないままにしない限り、これで問題ありません。マルウェアがこれを悪用しようとする点はありません。起動時に実行されていれば、とにかくルート権限をすでに持っているからです。だから、最初に他の人としてログインしないでください(コンソールに切り替えることができない限り、ディスプレイマネージャを介してrootを許可しないシステムでは問題になるかもしれません)。それでもそれはかなりありそうにない。
goldilocks 14年

@SailorCire ^^^
goldilocks 14年

マルウェアの可能性についても非常に疑っています。しかし、私が提案したことの背後にある考え方は、多くの人が陥る「今は機能するので、後で変更する」というタイプのメンタリティを禁止しているということです。
セーラーサイア14年

また、参照することができ、この答えは、手動でのパスワードを生成する方法を/etc/shadow
NullUser

4

私が取るタグから判断すると、RHELを使用していると思いますが、このソリューションはすべてのディストリビューションで同様に機能するはずです。

ルートパスワードを忘れた場合、シングルユーザーモードで起動し、これを使用してパスワードを変更できます。このアプローチは、Red Hatのステップバイステップガイドで説明されています

  1. GRUBメニューに入り、を押しeます。
  2. で始まる行を選択しkerneleもう一度押します。
  3. この行の最後にを置きsingleます。その後、プレスENTERbそれからOOT。

最終的にpasswd root、パスワードを入力および変更できるプロンプトが表示されます。次にreboot、システムを再起動するために入力します。


1
これは、ブートパスワードがない場合にのみ機能します。
-pradeepchhetri

1
また、シングルユーザーシェルに/ sbin / suloginを使用していない場合(ルートのパスワードの入力を求められます)。
ジェームズオゴーマン

ファイルシステムにアクセスできる場合は、編集/boot/grub/grub.confしてブートローダーのパスワードを削除し/etc/inittab、シングルユーザーシェルを/ bin / sh(cc @pradeepchhetri)のようなものに変更します
NullUser
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.