パスワードのないユーザー - root以外のアカウントからアカウントにログインする方法

パスワードのないユーザー - root以外のアカウントからアカウントにログインする方法

私はScientific Linux(7.0)を使い始めました(ただし、この質問は配布中立的かもしれませんが…)。カーネルバージョンは3.10.0-123.20.1.el7.x86_64です。

私の質問に戻ります。

rootアカウントに切り替え、test-accountコマンドを使用して新しいユーザーアカウントを作成しましたadduser test-account。パスワードの入力を求められず、パスワードを提供するオプションも使用しませんでした。だから私はこれが「パスワードのない」アカウントだと思います。ルートアカウントからこのアカウントにログインできます。テストアカウントにパスワードがある場合でも、パスワードを入力しなくてもこのアカウントにログインできます。ただし、3番目のアカウントでこの(テストアカウント)にログインしようとすると、パスワードの入力を求められます。そして、ただ押してもEnter何の効果もありません。

このアカウントが root 以外のアカウントからログインできるかどうか。 (ルートに切り替えたり使用しないで)方法はありますかsudo

答え1

デフォルトでは、エンタープライズGNU / Linuxおよびその派生バージョンでは、このadduserコマンドはユーザーのパスワードを明示的に指定するまで無効なユーザーを生成します。

これはCentOS 6.5の例で、Scientific Linuxと同じでなければなりません。

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

これは、例のように/etc/shadowファイル内のパスワードフィールドがあるためです。!!

このアカウントを実行すると、passwdユーザーのパスワードが変更され、ユーザーがログインできるようになります。

したがって、パスワードのないユーザーを保持するには、次のことができる必要があります。アカウントを作成してパスワードを削除してください。

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

これで、すべてのユーザーが私の例のユーザーとして使用してログインできる必要がありますsu。このアカウントでログインtestする必要はありません。sudo

可能でパスワードなしでアカウントを持つことはできますが、お勧めできません。ユーザーのパスワードのみを設定するとログインが可能になります。

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

答え2

ユーザーがいますゲストこれにはパスワードはありません。その記録は次のとおりです。

ゲスト:U6aMy0wojraho:17057:0:99999:7:::

文字列「U6aMy0wojraho」は、ゲストユーザーのハッシュパスワードです。ログイン時にEnterキーを押してパスワードを入力すると、システムからログインできます。

/etc/shadow ファイルを編集し、ユーザー名と最初のコロンの後に上記の文字列を追加する必要があります。

Ubuntu Live CDからこの文字列をコピーしました。そのユーザーにはパスワードがありません。

答え3

パスワードが空のユーザー

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

残念ながら、パスワードプロンプトは引き続き表示されます。

ただし、何も入力せずにEnterキーを押すと、ユーザーとしてログインしますtest-user-0

これらの-eフラグは、chpasswdパスワードが暗号化され、U6aMy0wojraho空の文字列のハッシュであることを示します。

Ubuntu 18.04でテストされました。

BusyBox自動ログイン

少なくとも端末では、誰かが毎回パスワードを入力しないようにパスワードなしでユーザーを作成する必要はありません。ハッキングでinittab十分です。Buildroot BusyBox initにrootユーザー名またはパスワードを入力せずに自動的にログインする方法は?

関連情報