2014-04-23 6 views
0

퍼핏은 생성 된 사용자의 비밀번호를 설정하지 않습니다. 나는 여러 가지 방법을 시도하고 그들 중 누구도 제대로 작동하지, 내 매니페스트 파일은 다음과 같습니다사용자 비밀번호를 업데이트하지 않습니다.

방법 1 : SHA1()/MD5() 함수

user {'test1': 
    ensure => present, 
    password => sha1('vagrant'), 
    shell => '/bin/bash', 
} 

user {'test2': 
    ensure => present, 
    password => md5('vagrant'), 
    shell => '/bin/bash', 
} 

방법 2 : 암호 해시

user {'test3': 
    ensure => present, 
    password => '$6$plwk1mgalbEBBF$ificPYixcMcaotnm8.aayRDa9GDgBp3OgbrFkkU1ZahT/BAf5JvIkR9WjJZNkhIVcsrFkGY/OAs5ZSMvd0Yl3/', 
    shell => '/bin/bash', 
} 

은 /은 등/그림자

vagrant:$6$aqzOtgCM$OxgoM...Ta55l0:0:99999:7::: 
test4:!:16183:0:99999:7::: 
test3:!:16183:0:99999:7::: 
test1:!:16183:0:99999:7::: 
test2:!:16183:0:99999:7::: 
  • 그림자 가지고 전달 승/업데이트되지 "!" 내 생성 된 사용자의 암호 필드에 표시
  • 수동으로 섀도 ​​파일을 편집하여 암호 해시에 붙여 넣으면 계정에 성공적으로 & su를 넣을 수 있습니다.
  • 이미 managing a user password for linux in puppet을 보였다

버전

  • 우분투 : 12.04 (hashicorp/precise64)
  • 인형 : 2.7.19
  • 방랑 : 1.5.3
+3

. (원래 제목은 내 의견에 훨씬 더했지만, 나는 되돌리기 전쟁을 시작하지 않을거야) – ikegami

답변

1

문제는 꼭두각시가/etc/shadow 파일을 업데이트하지 않는다는 것입니다. 올바르게, 방법 1은 여전히 ​​작동하지 않습니다. sha1() 및 md5() 함수는 passwd/shadow 호환 값을 생성하지 않으므로 passwd/shadow 호환 값을 생성하지 않습니다. 암호화 된 암호를 생성하는 것은 단순한 암호 해시보다 복잡합니다.

방법 2 이되어야합니다. 그러나 그렇지 않기 때문에 계속 진행되고 있습니다. 디버그 및/또는 세부 정보 표시 모드를 사용하여 매니페스트를 적용하려고 시도 했습니까?

퍼핏이 파일을 관리해야하는 루비 섀도우 패키지가 누락되었다고 생각합니다. 패키지 공급자 및/또는 보석이 설치되어 있는지 확인하십시오.

+0

내가 설치 libshadow-ruby1 .8 그러나 여전히 작동하지 않는다면 내가 필요로하는 다른 라이브러리가 있습니까? –

+0

나는 꼭두각시 (3.4.3)의 최신 버전을 시도했는데, libshadow-ruby와 함께 그 트릭을 수행 할 것으로 보인다. –

1

나는 우분투 12.04에서도이 문제를 가지고있었습니다. 그것은 puppet docs 말한다하고 orev에 의해 뒷받침과 같이 루비의 그림자 암호 라이브러리 (종종 루비 libshadow라고도 함)를 설치해야합니다

참고 사용자 암호를 관리하고자하는 경우

코멘트에 언급 된 최신 꼭두각시 버전 (3.4.3 및 3.5.1)을 설치할 때조차도 libshadow-ruby1.8 패키지를 사용할 수 없었기 때문에 나를. 나는 새로운 hashicorp/precise64 방랑 상자에 그것을 테스트했습니다

사용 루비 그림자 보석 - 그렇게 또한 빌드 - 필수

sudo apt-get install build-essential 
sudo gem install ruby-shadow 
그런

가에 암호를 만들기 위해 설치하는 경향이 필요하게 필요 우분투 12의 whois 패키지의 일부인 상자 mkpasswd의 올바른 양식.04

sudo apt-get install whois 

후 꼭두각시 사용자 선언 :

user { 'bob': 
    ensure => present, 
    password => generate('/bin/sh', '-c', "mkpasswd -m sha-512 ${password} | tr -d '\n'"), 
    ... 
} 
관련 문제