Сведения о вопросе

1234123213

05:19, 12th August, 2020

Теги

Трубопроводы пароль с помощью smbpasswd

Просмотров: 479   Ответов: 7

Как я могу передать новый пароль в smbpasswd, чтобы автоматизировать процесс установки.



  Сведения об ответе

PROGA

18:15, 7th August, 2020

Благодаря Марку я нашел ответ:

(echo newpassword; echo confirmNewPassword) | smbpasswd -s

BTW: (echo oldpasswd; echo newpasswd) | smbpasswd-s не работает.


  Сведения об ответе

lesha

17:52, 20th August, 2020

В одном из своих сценариев я использую следующее:

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

С отголосками:

- e: escape-последовательности, например \n

-n : не добавляйте неявную новую строку в конце

С smbpasswd:

- a: добавить нового пользователя

- s: молчание


  Сведения об ответе

ASSembler

21:06, 1st October, 2020

Попробуйте что-нибудь вроде этого:

(echo oldpasswd; echo newpasswd) | smbpasswd -s


  Сведения об ответе

COOL

19:36, 13th August, 2020

Использовать это echo 'somepassword' | tee - | smbpasswd -s


  Сведения об ответе

screen

15:12, 22nd August, 2020

Это к сожалению нежелательно по двум причинам: 1) если пользователь использует комбинацию '\n' в пароле, то будет несоответствие в вводе 2) Если в системе есть unix пользователя, то пользователь, использующий утилиту ps, может увидеть пароль

Лучше всего было бы поместить имена в файл и прочитать из файла и использовать python pexpect, чтобы прочитать их, а не как ниже, но простого скрипта достаточно, чтобы увидеть, как использовать pexpect

#!/usr/bin/python
#converted from: http://pexpect.sourceforge.net/pexpect.html
#child = pexpect.spawn('scp foo myname@host.example.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)

тогда попробуйте: ./userName1 smbpasswd.py 'Ф#@(&*(_\n895'


  Сведения об ответе

screen

19:25, 7th August, 2020

Мне пришлось создать нового пользователя Samba в Puppet 5.x Exec resource, и по разным причинам ничего из вышеперечисленного не сработало. К счастью, эта довольно глупо выглядящая команда сработала:

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

Вот пароль-это, конечно, "vagrant".


  Сведения об ответе

9090

22:07, 24th August, 2020

Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться