2011-03-16 2 views
4

Fabric을 사용하여 원격 우분투 시스템에 사용자 계정을 만들려고합니다. 계정에 강력한 암호가 필요합니다. 다음을 사용하여 계정을 만들 수 있습니다.Python : Fabric을 사용하여 우분투 사용자 계정에 암호를 설정하는 방법

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

문제는 암호를 설정하는 방법이 확실하지 않다는 것입니다. useradd -p 옵션에는 암호화 된 암호가 필요합니다. 암호는 어떻게 설정합니까? 어떻게 소금이 원격 시스템으로 전달됩니까?

예제 코드는 인정 될 것입니다.

감사합니다.

답변

1

시도해보십시오. chpasswdpasswd과 달리 명령의 표준 입력에서 사용자 이름과 암호를 전달할 수 있습니다. 그래서 당신은 예를 들어 암호를 포함하는 파일을 업로드하고 fabfile이 줄을 추가 할 수 있습니다

sudo('chpasswd < my_password_file') 

man chpasswd에서 : chpasswd 명령은 표준 입력 및 사용에서 사용자 이름과 암호 쌍의 목록을 읽어

이 정보는 기존 사용자 그룹을 업데이트하는 데 사용됩니다. 각 라인은 형식이다 :

_ 이름 : 암호

제공된 암호가 일반 텍스트에 있어야합니다.

+0

이렇게했습니다. 감사! –

1

나는 이런 식으로 작업을 수행합니다

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

암호는 사용자 이름과 일치하고 사용자가 처음 로그인 할 때 암호를 변경하라는 메시지가 표시됩니다.

관련 문제