ubuntu - 用puppet创建用户, 无法指定密码
PHP中文网
PHP中文网 2017-04-21 10:55:18
0
1
442

已经试过在ubuntu上安装 puppet libshadow-ruby1.8

class users {
  package { "libshadow-ruby1.8":
    ensure => latest,
    require => Exec['apt-get update']
  }
  user { "ubuntu":
    ensure  => present,
    uid     => '1001',
    gid     => 'admin',
    shell   => '/bin/bash',
    password => sha1('ubuntu'),
    managehome => true,
    require => Package['libshadow-ruby1.8']
  }
}

include users

这么写用户名是创建了, 但是密码还是没有

ps: 其实我是在用vagrant, vagrant是默认用户名想换成ubuntu

PHP中文网
PHP中文网

认证0级讲师

모든 응답(1)
刘奇

'아직 비밀번호가 없습니다'라고 하시면 'ubuntu' 비밀번호를 입력하셨을 때 인증에 실패했다는 뜻인가요? 아니면 섀도우 파일에 우분투 레코드가 전혀 없나요?

첫 번째인 것 같아요(확인 실패).섀도우 파일의 비밀번호는 sha1()에서 생성된 것이 아닌 것 같습니다.

제가 생각한 해결책은 다음과 같습니다.

puppet 클래스의 섀도우 파일에서 복사한 비밀번호를 사용

먼저 터미널에서 useradd, passswd를 이용해 사용자를 생성하고, 비밀번호를 ubuntu로 설정합니다. 그림:

섀도우 파일로 이동하여 암호화된 비밀번호를 복사하고 다음 퍼핏 코드를 사용하여 사용자를 생성하세요.

으아악 bash 스크립트를 작성하고 Expect 및 passwd 명령을 사용하여 새 사용자의 비밀번호를 설정하세요

passwd 명령은 stdin에서 직접 비밀번호를 받기 때문에 명령줄을 전달할 수 없습니다. passwd ubuntu ubuntu와 같은 매개변수 비밀번호를 설정하려면 bash 쉘을 직접 작성하는 것이 해결 방법입니다(set_passwd.sh라고 가정). 이 쉘 스크립트는 명령줄에서 일반 텍스트 비밀번호를 받은 다음 예상을 사용하여 해당 쉘로 보냅니다. passwd 명령
이런 식으로 퍼펫 스크립트는 다음과 같습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿