web-dev-qa-db-ja.com

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

私はScientific Linux(7.0)を使い始めたばかりです(ただし、この質問はディストリビューションニュートラルかもしれないと思いますが...)。カーネルのバージョンは3.10.0-123.20.1.el7.x86_64です。

私の質問に戻ります。

rootアカウントに切り替え、そこからコマンドtest-accountを使用して新しいユーザーアカウントadduser test-accountを作成しました。パスワードの入力を求められなかったし、パスワードを指定するオプションも使用しなかった。つまり、「パスワードなし」のアカウントだと思います。 rootアカウントからこのアカウントにログインできます。テストアカウントにパスワードが設定されていても、パスワードを入力しなくてもアクセスできると思います。ただし、3番目のアカウントからthis(test-account)にログインしようとすると、パスワードの入力を求められます。 Enterを押すだけでは機能しません。

非rootアカウントからこのアカウントにログインすることは可能ですか?方法はありますか(ルートに切り替えたり、Sudoを使用せずに)?

27
Lavya

エンタープライズ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.
30
Nathan McCoy

私はユーザーguestを持っています。これはパスワードなしです。これはその記録です:

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

文字列「U6aMy0wojraho」は、ゲストユーザーのハッシュ化されたパスワードです。ログインしたら、パスワードを入力するだけでEnterキーを押すだけです。

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

私はこの文字列をUbuntuライブCDからコピーしました-そのユーザーはパスワードなしです。

3
Raicho Nikolov

空のパスワードを持つユーザー

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ユーザー名またはパスワード?