it-swarm-ja.com

Linux-システムユーザーがログインできるようにしますか?

このユーザーは次のコマンドを使用して作成されました:

Sudo adduser --system --home=/opt/user --group user

しかし今、私はそのユーザーがログインできるようにしたいと思います。 Sudoを使用してそのユーザーになることができますが、パスワードを使用して直接ログインすることもできます。私はこのコマンドを使ってみました:

Sudo passwd user

ユーザーのパスワードを追加できます。ログインしようとすると、ログインしますが、すぐに終了します。

6
Andrius

--systemオプションで指定されたシステムアカウントであるため、userとしてログインできません。システムアカウントはデーモンまたはサービス用であり、人間のユーザー用ではないため、ログインシェル用に/bin/falseが付与されます。 grep '^user' /etc/passwdと入力すると、次のようになります。

user:x:117:123::/opt/user:/bin/false

userがログインできるようにするには、usermodを使用してログインシェルをbashに変更します。

usermod -s /bin/bash user

または、/etc/passwdを手動で編集することもできます。 userのUID、GID、およびホームディレクトリの場所にその他の変更を加えることもできます。

7
Larssend

ユーザーがロックされているようです。

usermod -U user

/etc/shadowも見てください。ユーザーとの行はこのように開始する必要があります

 user:$6$SALT...

行が

 user:!!:..
 user:*:...

その後、アカウントがロックされます。

0
Archemar

ユーザーが-mフラグなしで作成された可能性があります。

-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

Note that useradd will not create a home directory for such an user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.


-m, --create-home
Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory.
useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.

編集:また、別の質問への this 回答も参照してください。

0
Lan