Могу ли я войти в систему пользователя после его создания?

На машине Ubuntu, если я запустил следующую команду:

adduser --system --no-create-home system-user

Я создаю системного пользователя с именем system-user без домашнего каталога с /bin/false в качестве оболочки. Этот пользователь относится к nogroup (GID 65534) по умолчанию. Я хочу использовать этого пользователя для запуска демона в моей системе.

Но как насчет пароля? Могу я или кто-то еще каким-то образом войти в эту учетную запись системы? Я подумал, что, может быть, пароль пуст, поэтому я просто попытался нажать Enter, когда в su system-user появится запрос Password: :

 $ su system-user Password: su: Authentication failure 

Это из-за оболочки /bin/false ? Я не знаю, потому что руководства adduser и useradd не говорят, как обрабатывается пароль пользователей системы при создании пользователя системы. Могу ли я быть уверенным, что никто в системе не может войти в систему как этот системный пользователь? Или я должен сделать что-то еще, чтобы защитить этот аккаунт? Хотелось бы, чтобы только демон мог использовать его и никого больше …

Учетная запись будет настроена без возможностей входа в систему, поскольку для учетной записи нет действительного пароля, и это отличается от пароля.

Вы можете проверить это, выполнив sudo grep -f system-user /etc/shadow . Второе поле (между первой и второй двоеточием (:)) будет « * », и никакой хэш любого пароля, который вы можете предоставить, не будет соответствовать этому. Для этого вы должны явно указать пароль.

Кроме того, запись /bin/false для учетной записи с паролем не даст вам « Authentication failure », она сразу же выйдет из системы без какого-либо сообщения (так как вы можете легко попытаться создать временную учетную запись с помощью действительный пароль)

Сначала вы должны инициализировать passwd своего пользователя:

 $passwd system-user 

затем верните два раза, чтобы создать пустой пароль.

Вы можете убедиться, что в файле /etc/shadows отсутствует passwd (второе поле должно быть пустым). Но да, эта учетная запись не будет защищена даже без $HOME ни оболочки. Все пользователи с учетной записью sudo смогут ее использовать.