私は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.