
Этот пользователь был создан с помощью этой команды:
sudo adduser --system --home=/opt/user --group user
Но теперь я хочу, чтобы этот пользователь мог войти в систему. Я могу стать этим пользователем, используя sudo
, но также хотел бы напрямую войти в систему, используя пароль. Я попробовал использовать эту команду:
sudo passwd user
Позволяет мне добавить пароль для пользователя. Когда я пытаюсь войти, он входит, но тут же выходит.
решение1
Вы не можете войти как, 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
вручную. Вы также можете захотеть внести некоторые другие изменения в user
UID, GID и местоположение домашнего каталога.
решение2
Возможно, пользователь был создан без флага -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.
Редактировать: Также см.этотответ на другой вопрос.
решение3
похоже, что пользователь заблокирован, попробуйте
usermod -U user
также посмотрите /etc/shadow
, строка с пользователем должна начинаться так
user:$6$SALT...
Если линия
user:!!:..
user:*:...
затем аккаунт блокируется.