rootアクセスの可能性を失った/ sbin / nologin


1

誤ってファイルを編集した /etc/passwd 次のように私のサーバー上で:

root:x:0:0:root:/root:/sbin/nologin

今私はrootとしてログインすることはできません。入るとき su コマンドを入力すると、コンソールに次のように表示されます。

/ sbin / nologinを実行できません。そのようなファイルまたはディレクトリはありません

私はサーバーへの物理的なアクセス権がありません、そして私のユーザーはsudoersファイルにありません。

Ubuntu Server Linux 2.6.24-23-serverを実行しています

rootユーザーへのアクセスを取り戻すにはどうすればいいですか?


2
このような事故から回復する唯一の方法は、レスキューモードで起動することです(物理的な存在が必要です)。
vonbrand


申し訳ありませんが、この「偶然の編集」につながる正確な状況について詳しく説明していただけますか。それは悪かったですか sed コマンド?太陽フレア?これはどのように意図的ではありませんでしたか?
jnovack

回答:


2

これから回復するにはいくつかの選択肢があります。

  1. これを修正するための十分な権限を持つ別のユーザーでログインしてください。これには明らかに十分な権限を持つ2人目のユーザーが必要ですが、サーバーに複数の管理者がいる場合はそれほど珍しいことではありません。 (それぞれが自分のユーザー名と管理者アカウントを持つ)。
  2. 別のOS(例:ライブCDやペンドライブ)から起動します。ディスクをマウントし、シェルのrootを修正します(簡単な操作です。 もし あなたは物理的なアクセスを持っています、しかし、あなたはこれが事実ではないと書きました)。
  3. 別のOS(ライブCDやペンドライブなど)から起動します。DRAC、ILOなどを介してリモートからコンソールにアクセスしながら、ディスクをマウントしてrootでシェルを修正します。偽のCDとして機能するISOファイル。
  4. シングルユーザーモードでサーバーを起動します。 (例:GRUB addでは single または 1 カーネルパラメータに。これはあなたをシェルに落とします。それからあなたのためにシェルを変えるように地元の人に依頼してください。 (またはDRAC / ILOの場合は自分で変更してください)。
  5. サーバーをシャットダウンする権限があるが/ etc / passwdを編集する権限がないユーザーがいる場合。ランレベル1にするためにサーバーをシャットダウンします。これにより、サーバーはシングルユーザーモードになり、コンソールから設定を編集できます(もう一度HPのILO、Dell DRACなどが必要)。
  6. そのサーバーに2番目のOS(またはレスキューインストール)がある場合は、それを起動してファイルを編集します。

Example picture of a console seen via DRAC

あなたがしていることに関係なく:あなたがそのような変更を加えたときにはログアウトしないでください。
それらを最初にテストします(たとえば、2番目の接続を開始します)。


0

Live CDからシステムをレスキューモードで起動します。そこからファイルシステムをマウントして、 /etc/passwd ファイル。リモートKVMまたはHPのiLOのような製品がない限り、サーバーに物理的にアクセスする必要があります。

または、

他のユーザーがいる場合は、sudoから実行できます。

または、あなたがあなたの質問であなたがスパムした他のサイトをチェックすることができます:


0

私は何かが足りないかもしれませんが、これは非常に非常に簡単に修正できるようです。

できるなら suできることを知っている su -s /bin/bash、 右?


それは動作しません。同じ結果が得られます Cannot execute /sbin/nologin: No such file or directory
Baltazor

これは、マニュアルに縛られています。あなたがすでにrootであるか、シェルが/ etc / shellsにリストされていない限り、su -sは機能しません。
Joshua
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.