PDA

Показать полную графическую версию : python - модуль pysmbc


Vandheer
30-03-2017, 09:21
Привет. Как передать пароль из модуля pwd в pysmbc. При операции ctx.opendir('smb://IBM').getdents() выдает ошибку smbc.PermissionError: (1, 'Operation not permitted)


import smbc
import pwd
import os

def do_auth (svr, shr, wg, un, pw):
return ('SEVEN.LOCAL', user_info.pw_name , user_info.pw_passwd)

user_info = pwd.getpwnam(pwd.getpwuid(os.getuid()).pw_name)
ctx = smbc.Context(auth_fn=do_auth)

entries = ctx.opendir('smb://IBM').getdents()
for entry in entries:
print (entry.name)

shisik
31-03-2017, 00:51
А какая вообще задача стоит? Подключиться по самбе к удалённой машине и получить список расшареных папок? А при чём здесь локальный пользователь, ведь именно о нём будет получена информация с помощью pwd. Да и пароля там всё равно не будет по понятным причинам. В лучшем случае - хеш, а скорее всего вообще просто 'x' (у меня так). Так что неудивительно, что если удалённая шара защищена паролем, то войти под локальным юзером да без пароля не получается.

Vandheer
31-03-2017, 07:51
можно ли как то зайти на шару без ввода пароля если пользователя является пользователем домена?

shisik
31-03-2017, 16:23
Если сервер для входа требует пароль, то без пароля не войти. Или меняйте настройки сервера, чтоб он пароль не требовал. Другой вариант - явно укажите пароль в функции do_auth.




© OSzone.net 2001-2012