UnkwnTech
그는 물었다 12년 전
28

파이핑이 스기파스우드 암호를

그래서 내 설치 프로세스를 자동화할 수 있는 새로운 암호를 스기파스우드 파이프 어떻게 합니까.

답변 7 개

덕분에 마크 I found 해결책:

(echo newpassword; echo confirmNewPassword) | smbpasswd -s

브트와: (에코 올드패스우드. 에코 뉴파스우드) 스기파스우드 - s 작동하지 않습니다.

UnkwnTech
JorgeeFG
그는 7년 전 댓글을 달았습니다
5
  • 1 이 것과 답을 마크, 그냥 변수 이름을 변경.
Matt
그는 5년 전 댓글을 달았습니다
9

+1 오프셋하려면 조지프트. 내 생각에 구분이 포함할 경우 새로운 변수 이름을 읽기 훨씬 크다. # 39 의 오토메이티드 스기파스우드 mark& 있음을 알 수 있지만, 이는 기존 암호, 새 오토메이티드 스기파스우드 기대하고 있다고 한 것을 기대하고 있다고 암호, 비밀번호 확인. 두 번째 올바른 해석은 Mark& # 39 에 비해 덜 한 것, 그래서 이 번호요 도움됐네 그 답을 찾을 수 있습니다.

난 다음 중 하나를 사용하여 내 스크립트에만:

   echo -ne "$PASS\n$PASS\n" | smbpasswd -a -s $LOGIN

있는 것이 특징이다.

  • e: 이스케이프 시퀀스 \n 같은

  • n: # 39, t 추가 암시적입니다 don& 끝에 개행 문자

함께 스기파스우드:

  • a: 새 사용자 추가

  • s: silent.

또는 '에코 - ne &quot $ PASS\n"; 티 로그인 's $ 스기파스우드 - a - -?

Michael
그는 4년 전 댓글을 달았습니다
0

스기파스우드 - s 는 "use stdin passwordattr 비밀번호 프롬프트합니다" 가 아닌 "조용한"

Bruno De Fraine
그는 4년 전 댓글을 달았습니다
0

(Https://www.samba.org/samba/docs/man/manpages/smbpasswd.8.html) 에 따르면, 모두 @michael 무슨뜻이냐믄 &quot silent&quot. (no 프롬프트) 와 &quot 읽을 stdin"; (대신 / dev / 파티)

이 같은 일이 시도하시겠습니까.

(echo oldpasswd; echo newpasswd) | smbpasswd -s

이 "'에코 & # 39 somepassword& # 39;; 티 - 스기파스우드 - s ""

jamshid
그는 6년 전 댓글을 달았습니다
3

고마워, 파비우 that& # 39 의 구문을 도커피레 작업할 수 있는 유일한 받을 수도 있어요.

'= 미로트파스워드 전달하십시오 실행하십시오. echo $ {} 전달하십시오 스기파스우드 - a - s '티 -

dbrewer
그는 4년 전 댓글을 달았습니다
0

난 또 이 답을 찾을 수 있는 유일한 구문 나 좀 apc® 허수아비 exec 리소스에는 로 유용하다. # 39, 괄호 실패 원인은 외곽진입 시작되는 퍼핏 couldn& &quot 명령을 찾을 수 없다. (echo". 감사합니다!

난 이미 새로 생성할 수 있는 모든 사용자의 퍼핏 5.x Exec 자원 및 기타 여러 가지 이유로 삼바 했다. 다행히 이 바보 보이는 것이 아니라 명령을 했다.

yes vagrant|head -n 2|smbpasswd -a -s vagrant

물론 vagrant&quot 암호란이 슬라이드에서는 ";).

이 두 가지 이유로 죄송합니다. 것은 바람직하지 않다. 1) # 39, & # 39 함께 사용하여 사용자가 \n&. 암호 입력 수 있을 것으로 불일치합니다. 2) unix 시스템의 경우 사용자가 암호를 사용하여 사용자 관심용 유틸리티 ps 나타날 수 있습니다.

더욱 효과적으로 사용할 수 있는 이름은 파일이므로 약간만이라도 동일팔레트에 파일을 읽을 수 있지만, 미끼처럼이 아니라 단순한 스크립트는 아래에 파이썬 페제임스 읽었던 페제임스 사용하는 방법을 볼 수 있을 정도로

#!/usr/bin/python
#converted from: http://pexpect.sourceforge.net/pexpect.html
#child = pexpect.spawn('scp foo [email protected]xample.com:.')
#child.expect ('Password:')
#child.sendline (mypassword)
import pexpect
import sys
user=sys.argv[1]
passwd=sys.argv[2]
child = pexpect.spawn('/usr/bin/smbpasswd -a '+str(user))
child.expect('New SMB password:')
child.sendline (passwd)
child.expect ('Retype new SMB password:')
child.sendline (passwd)

그럼 하시오. ./smbpasswd.py userName1 & # 39, f # @ (&amp, * (_\n895& # 39.

사용하거나 파이프라인을 또는 리디렉션을.

markrian
그는 5년 전 댓글을 달았습니다
0

이는 단순히 doesn& # 39, t 질문에 대답.