Создан пользовательский ресурс с помощью Chef, не удается выполнить аутентификацию и домашняя страница не создана

На коробке точного 64.

Я попытался создать пользователя с Chef, используя следующее объявление:

user "myuser" do
  supports :manage_home => true
  shell "/bin/bash"
  home "/home/myuser"
  comment "Created by Chef"
  password "mypassword"
  system true
  provider Chef::Provider::User::Useradd
  action :create
end

Это удается. Я могу найти своего пользователя в /etc/passwd, но домашний каталог не создан, и я могу пройти аутентификацию.

$ su - myuser
su: Authentication failure

Что мне не хватает?

Обновлять

Нашел похожую тему здесь< /а>


person zabumba    schedule 12.05.2014    source источник
comment
Атрибут пароля не принимает строку открытого текста. См.: stackoverflow.com/questions/22386777/   -  person Mark O'Connor    schedule 13.05.2014
comment
Что заставляет вас думать, что я этого не делал. Я трачу так много времени на изучение инфраструктуры как кода, что я немного чувствителен к такого рода комментариям. Серьезно, я бы предпочел помощь. Вы даже не указали на документ (??)   -  person zabumba    schedule 13.05.2014


Ответы (2)


Попробуйте следующее

openssl passwd -1 "mypassword"

Пароль $1$YwUKq1QX$qIVeFlybWqOKJjRLed29j

user "myuser" do  
  supports :manage_home => true  
  shell "/bin/bash"  
  home "/home/myuser"  
  comment "Created by Chef"  
  password $1$YwUKq1QX$qIVeFlybWqOKJjRLed29j.  
  system true  
  provider Chef::Provider::User::Useradd  
  action :create  
end
person Mohan Karthik Sanagapalli    schedule 13.05.2014
comment
это сработало, но теперь я все еще получаю: Нет каталога, вход в систему с помощью HOME=/, несмотря на поддержку :manage_home true - person zabumba; 13.05.2014
comment
и пытаюсь решить здесь stackoverflow.com/questions/23632091/ - person zabumba; 13.05.2014
comment
@joel это работает, пользователь создается и проверяет в домашнем каталоге, создана ли папка на моем пользователе или нет ..?/ - person Mohan Karthik Sanagapalli; 14.05.2014

Шеф хеширует пароль. Ниже обходит его.

passwd=%x( openssl passwd -1 'mypassword' )
passwd.delete!("\n") # removes \n from string

user "myuser" do
  manage_home true
  shell "/bin/bash"
  comment "Created by Chef"
  password passwd
  system true
  provider Chef::Provider::User::Useradd
  action :create
end
person shalamus    schedule 09.01.2018