パスワードのないユーザー - 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.

おすすめ記事