Как лучше всего создать пользователя без пароля? Под отсутствием пароля я подразумеваю учетную запись, которая будет использоваться только учетной записью root с помощью команд su / sudo (например, пользователя none, используемого Apache или Nginx).
Я читал, что установка * в поле пароля файла / etc / shadow работает, но я хотел бы знать, есть ли способ сделать это с помощью команды useradd.
Я думал сделать:
useradd my_new_user -s /sbin/nologin -p '*'
но я не уверен, что команду useradd можно использовать таким образом. Я не нашел никаких упоминаний об этом.
Это работает так, как вы описали (конечно, вы можете указать любую оболочку, которую хотите, вместо /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:::
Когда используешь Джон Смит Необязательноответ, будет работать следующее:
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
Если пароль не указан, он не создается / учетная запись отключена.