#!/usr/bin/python2 import subprocess def nfs_export_list(): nfslist = [] exportfile = "/etc/exports" proc = subprocess.Popen(["showmount", "-a"] , stdout=subprocess.PIPE,stderr=subprocess.PIPE) stdout,stderr = proc.communicate() rc = proc.returncode if rc == 0: try: f = open(exportfile,"r") for line in f.readlines(): if line.startswith("#"): continue item = line.split() if len(item) <= 1 : continue nfslist.append(item) except : pass else: nfslist.append(["NFS server is not running",'NFS server is not running']) return nfslist def smb_share_list(): smblist=[] proc = subprocess.Popen(["smbclient", "-L", "\\localhost" , "-N"], stdout=subprocess.PIPE,stderr=subprocess.PIPE) stdout,stderr = proc.communicate() outstuff = stderr.split("\n") for line in outstuff: try: heading1 = line.split()[0] except: continue #print heading1 #print heading1.find("Domain") if heading1.find("Domain") > -1 : #smblist.append('') smblist.append(heading1) break outstuff = stdout.split("\n") for line in outstuff: try: heading1,heading2 = line.split() except: continue if heading1 == "Server" and heading2 == "Comment": break smblist.append(line) return smblist nfslist = nfs_export_list() smblist = smb_share_list() print "---------NFS SHARES-----------\n" print "
" for sharename in nfslist: if sharename[1].find("noaccess") > -1 : print "%s \t no access" %sharename[0] print "
" else: print sharename[0] print "
" print "\n---------SMB SHARES----------\n" print "
" if len(smblist) == 0: print "Samba is not running or no shares listed" print "
" else: for sharename in smblist: print "%s" %(sharename.split()[0]) print "
"