Лучший способ создать пользователя без пароля

Каков хороший способ создать пользователя без пароля? Под паролем я не имею в виду учетную запись, которая будет использоваться только учетной записью root с использованием команд su/sudo (например, пользователя nobody, используемого Apache или Nginx).

Я читал, что размещение * в поле пароля файла /etc/shadow работает, но я хотел бы знать, есть ли способ сделать это с помощью команды useradd.

Я думал о выполнении:

useradd my_new_user -s /sbin/nologin -p '*'

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

2 ответа

Это работает так, как вы описали (конечно, вы можете указать любую оболочку, которую хотите вместо /bin/bash):

root# useradd temp_test1 -s /bin/bash -p '*'
root# su temp_test1
temp_test1#

После выполнения вышеуказанного useradd команда, следующая запись в моем /etc/shadow файл:

temp_test1:*:15842:0:99999:7:::

При использовании ответа John Smith Optional будет работать следующее:

root# useradd temp_test2 -s /sbin/nologin
root# su -s /bin/bash temp_test2
temp_test2#

РЕДАКТИРОВАТЬ: Я хотел бы отметить, что разница в том, что вы не можете su на счет, в котором оболочка указана как /sbin/nologin если вы не укажете используемую оболочку при выдаче su команда:

root# useradd temp_test3 -s /sbin/nologin
root# su temp_test3
This account is currently not available.
root#

(Проверено в CentOS 6.4 - должно работать в разных дистрибутивах).

useradd my_new_user -s /sbin/nologin

Если пароль не указан, он не создается / учетная запись отключена.

Другие вопросы по тегам