CCCPaste

Python SMBclient Samba

#Notes on Python smbclient for Samba
#more notes https://github.com/jborean93/smbprotocol/blob/master/examples/high-level/file-management.py

#install
sudo apt-get install gcc python-dev libkrb5-dev python-pip
pip install smbprotocol[kerberos]

#useage
import os,smbclient

server="192.168.1.101"
user="username"
password="password"
folder="folder"

#login
smbclient.register_session(server, username=user, password=password)

#list option
dir(smbclient)

#mkdir
smbclient.mkdir(r"\\\\"+server+"\\"+folder+"\\newdir")

#remove dir
smbclient.removedirs(r"\\\\"+server+"\\"+folder+"\\newdir")

#list dir
smbclient.listdir(r"\\\\"+server+"\\"+folder)

#scan directory
d=smbclient.scandir(r"\\\\"+server+"\\"+folder)
for item in d:
  print(item)

#write to file
with smbclient.open_file(r"\\\\"+server+"\\"+folder+"\\scan.txt",mode="w") as fd:
  fd.write(u"scan")

#read a file
with smbclient.open_file(r"\\\\"+server+"\\"+folder+"\\scan.txt",mode="rb") as fd:
  fd.read()