web-dev-qa-db-ja.com

/ etc / passwdの最後の行を変更しましたが、sudoを使用できません

ここに私がやったことがあります:

  1. 最後の行のユーザー名を変更します:tiny to abc

    • tiny@tty7:~$ Sudo vim /etc/passwd
    • これを変更:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      これ:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ Sudo vim /etc/shadow

    • [Sudo] passwork for abc:を示しています

    • パスワードを変更しなかったが、rootにログインできない!

    • 私はタイプする Ctrl+Alt+F1 tty1に送信されますが、tinyまたはabcのいずれもパスワードでログインできません

ls ~ -laを見てみると、次のように表示されます。

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

ルートにログインするにはどうすればよいですか?また、プロンプトtiny@tty7のユーザー名がまだ小さいのに、Sudoではabcのパスワードが表示されるのはなぜですか?

14
tinyork

編集後に立ち往生した理由は、/etc/shadowファイルにはtinyのパスワードのエントリが含まれていましたが、abcのエントリは含まれていなかったのに対し、/etc/passwdファイルにはエントリが含まれていたためですabcではなくtinyではありません。 Sudoが見えると、実行中のプロセスのUIDに基づいてabcとして正しく(パスワードファイルに従って)識別されますが、パスワードとして入力したものと/etc/shadowに保存された暗号化(ハッシュ)パスワード、abcのエントリが見つからなかったため、失敗を報告する必要がありました。

shaddyanswer で述べたように、パスワードやシャドウファイルを手で編集しないでください。ルールを破る必要がある場合は、vimの1回の呼び出しで両方を編集し、別のターミナルウィンドウを使用して変更が正常に機能することを証明するまでvimを終了しないでください。 、ハッキングを開始する前にファイルのバックアップコピーを保存し、最初にルールを破る理由を再検討してください。これはおそらく良い考えではないからです。

18

混乱させるため、passwdファイルを手動で編集しないでください。

ユーザー名を変更する適切な方法は次のとおりです。

usermod -l newUsername oldUsername

次に、ホームフォルダーを変更します。

usermod -d /home/newHomeDir -m newUsername

パスワードを変更するには、次を使用する必要があります。

Sudo passwd yourusername

Passwdファイルを元に戻すか、rootでログインできないために編集できない場合は、ライブcdで起動してファイルを元に戻すことをお勧めします。その後、適切な方法を使用します。

22
shaddy

使用:vipw

私はこれをFreeBSDで常に使用しており、Ubuntuでも使用できることを確認しました。このページをお読みください: vipwのUbuntuマニュアルページ

0
Lady Geek