Python: Как мне установить пароль для учетной записи пользователя Ubuntu с помощью Fabric - PullRequest
4 голосов
/ 16 марта 2011

Я пытаюсь создать учетную запись пользователя в удаленной системе Ubuntu с помощью Fabric. Я хочу, чтобы учетная запись имела надежный пароль. Я могу использовать следующее для создания учетной записи:

 sudo('useradd -m test -s /bin/bash')

Проблема в том, что я не уверен, как установить пароль. Для параметров useradd -p требуется зашифрованный пароль. Как мне установить пароль? Как соль попадает в удаленную систему?

Пример кода будет приветствоваться.

Спасибо

Ответы [ 2 ]

1 голос
/ 04 сентября 2013

Я делаю это так:

sudo('useradd %s' % username)
sudo('echo %s | passwd %s --stdin' % (username, username))
sudo('chage -d 0 %s' % username)

Пароль будет соответствовать имени пользователя, и пользователю будет предложено сменить пароль при первом входе в систему.

1 голос
/ 16 марта 2011

Попробуйте chpasswd. В отличие от passwd, вы можете передать имя пользователя и пароль при стандартном вводе команды. Таким образом, вы можете, например, загрузить файл, содержащий пароль, и поместить эту строку в ваш файл:

sudo('chpasswd < my_password_file')

С man chpasswd:

Команда chpasswd считывает список пар имени пользователя и пароля из стандартного ввода и использует эту информацию для обновления группы существующих пользователи. Каждая строка имеет формат:

user_name: пароль

Предоставленные пароли должны быть в открытом виде.

...