2014-01-31 1 views
0

나는 Ubuntu VM을 만드는 데 Vagrant를 사용하려고합니다. 내 호스트는 Windows7이고 내베이스 박스는 precise64입니다. 나는이 같은 꼭두각시 사용자를 추가하는 방법을 권장 할 경우 : 방랑 내 상자를 프로비저닝하고 해시는/etc/passwd에에없는 후방황/괴뢰를 가져 와서 Linux 암호를 올바르게 추가하려면 어떻게합니까?

user { "johnboy": 
    ensure => present, 
    managehome => true, 
    password => '$6$ev8faya2$M2pB3YQRpKUJMnJx6LnsyTbDdi.umsEEZttD01pk8ZSfMGrVmlnjoVhIHyuqYt3.yaG1SZjaoSxB39nNgFKb//', 
    groups => ["admin"], 
    shell => "/bin/bash"; 
} 

내가 로그인합니다.

나는/etc/passwd에

johnboy:.umsEEZttD01pk8ZSfMGrVmlnjoVhIHyuqYt3.yaG1SZjaoSxB39nNgFKb//:16101:0:99999:7::: 

에 해시의 일부분으로 끝날이

user { "johnboy": 
    ensure => present, 
    managehome => true, 
    groups => ["admin"], 
    shell => "/bin/bash"; 
} 

exec { 'set password': 
    command => "usermod -p '$6$ev8faya2$M2pB3YQRpKUJMnJx6LnsyTbDdi.umsEEZttD01pk8ZSfMGrVmlnjoVhIHyuqYt3.yaG1SZjaoSxB39nNgFKb//' johnboy", 
    require => User[johnboy]; 
} 

같은 자원 유형 만 사용 간부 및 usermod에 그것을 설정하지 않은 경우 어떤 페이지에서는 루비 섀도우 설치를 권장하므로 다음과 같이 시도해 보았습니다.

gem install ruby-shadow 

그러나 설치가 실패했습니다. 나는 Ruby를 설치하지 않았다. 방랑자는 100 MB 다운로드했습니다. 암호 관리를위한 보석이 실제로 포함되어 있지 않습니까?

비밀 번호를 정확하게 제공하도록 방랑/꼭두각시를 가져 오려면 어떻게해야합니까?

답변

1

그것은/etc/shadow 파일에 저장되어 있기 때문입니다. 이는 루트/수퍼 유저 만 액세스 할 수 있기 때문에 보안상의 이유로 사용됩니다.

이렇게 해시에서 달러 기호를 벗어나면 효과가 있습니다.

exec { 'set password': 
    command => "usermod -p '\$6\$ev8faya2\$M2pB3YQRpKUJMnJx6LnsyTbDdi.umsEEZttD01pk8ZSfMGrVmlnjoVhIHyuqYt3.yaG1SZjaoSxB39nNgFKb//' johnboy", 
    require => User[johnboy]; 
} 
+0

뿌리로서의 방역 조항은 그렇지 않습니까? 그건 내가 해시를 넣고 usermod를 실행했을 때 절반 만/etc/passwd에 들어간다는 것을 설명하지 않는다. – opticyclic

+1

\ $와 같은 암호에서 $ 기호를 이스케이프 처리합니다. 명령을 큰 따옴표로 묶었으므로 변수 보간이 허용되므로 필요합니다. – cocheese

관련 문제