3

Этот пользователь был создан с помощью этой команды:

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

Но теперь я хочу, чтобы этот пользователь мог войти в систему. Я могу стать этим пользователем с помощью sudo , но также хотел бы войти в систему, используя пароль. Я попытался с помощью этой команды:

sudo passwd user

Это позволяет мне добавить пароль для пользователя. Когда я пытаюсь войти в систему, он входит в систему, но сразу выходит.

3 ответа3

3

Вы не можете войти в систему как user потому что это системная учетная запись, которая указывается параметром --system . Системные учетные записи предназначены для демонов или служб, а не для пользователей, поэтому для входа в систему им назначается /bin/false . Если вы введете grep '^user' /etc/passwd , вы получите что-то вроде этого:

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

Чтобы позволить user войти в систему, вы можете использовать usermod, чтобы изменить его оболочку входа на bash:

usermod -s /bin/bash user

Кроме того, вы также можете отредактировать /etc/passwd вручную. Вы можете также сделать некоторые другие изменения в UID user GID, и расположение домашнего каталога.

0

звучит как пользователь заблокирован, попробуйте

usermod -U user

также посмотрите на /etc/shadow , строка с пользователем должна начинаться так

 user:$6$SALT...

Если строка

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

тогда аккаунт заблокирован.

0

Возможно, пользователь был создан без флага -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.

Изменить: Также см. Этот ответ на другой вопрос.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .