Лучший способ создать пользователя без пароля
Каков хороший способ создать пользователя без пароля? Под паролем я не имею в виду учетную запись, которая будет использоваться только учетной записью 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
Если пароль не указан, он не создается / учетная запись отключена.