2013-08-04 2 views
1

그래서이 학교의 파일 서버가 있습니다. 기본적으로 모든 학생은 Windows와 우분투 모두에 대해 하나의 공개 로그인을 사용합니다. 그들은 자신의 비밀 번호를 사용하여 Samba 우분투 서버에 로그인하여 자신의 개인 디렉토리에 접근 할 수있는 커스텀 앱을 사용합니다. 잠시 동안이 로그인을 위해 비밀번호를 변경해야합니다. bash 스크립트가 samba smbpasswd와 우분투의 passwd 모두를 수행 할 수 있도록 충분히 철저한 someones 암호를 변경하는 방법이 필요합니다. 그래서 이것을 요약하면 나는 bash 스크립트를 사용하여 사용자가 개입하지 않고 someones 암호를 변경하는 데 어떤 명령을 사용할 수 있는지 알아야합니다. passwd 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시되므로 bash 스크립트에서 암호를 변경해야 할 때 bash 스크립트를 편집해야합니다. "passwd user --current-password = CURRENTPASS - new-password = NEWPASS"와 같은 것을 찾는 사람은 ON THAT LINE을 반환합니다. 나는 또한 smbpasswd에서 작동 할 필요가 있으므로 삼바는 암호를 변경할 수 있습니다.samba 및 우분투 암호를 원격으로 변경하는 방법?

수정 발견! 와우 이것은 위대하다. 나는 이것을 이전에 알고 있었다. 다음 명령을 사용하면 작동합니다.

echo -e "newpass\nnewpass" | (smbpasswd -s username) 
echo -e "newpass\nnewpass" | (passwd --stdin username) 

물론 루트를 실행하지 않은 경우 이전 암호도 추가해야합니다. 나는 내 자신의 문제를 해결하는 것을 좋아한다! 이 말을 게시 있지만

+1

(http://serverfault.com) 또는 [Unix & Linux] (http://unix.stackexchange.com) –

+0

'expect'를 찾고 계십니까? –

+0

죄송합니다. 아뇨, 주제가 아님을 알고 있습니다. 그것의 해결,하지만 나는 그렇게 그것을 표시 할 수없는 것 ... –

답변

0

솔루션, 보안,하지만 아니었다 수도 있습니다 :

이 질문은이 [에 Serverfault]에 속해 있기 때문에 오프 주제 것으로 보인다
echo -e "newpass\nnewpass" | (smbpasswd -s username) 
echo -e "newpass\nnewpass" | (passwd --stdin username)
관련 문제