私は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
を使用せずに)?
エンタープライズ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.
私はユーザーguestを持っています。これはパスワードなしです。これはその記録です:
ゲスト:U6aMy0wojraho:17057:0:99999:7 :::
文字列「U6aMy0wojraho」は、ゲストユーザーのハッシュ化されたパスワードです。ログインしたら、パスワードを入力するだけでEnterキーを押すだけです。
/ etc/shadowファイルを編集し、ユーザー名と最初のコロンの直後に上記の文字列を追加する必要があります。
私はこの文字列をUbuntuライブCDからコピーしました-そのユーザーはパスワードなしです。
空のパスワードを持つユーザー
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ユーザー名またはパスワード?