如何打印删除共享文件夹中文件的客户端PC的IP或主机名?此代码正常工作,但它只打印我自己的IP和主机名,而不是删除共享文件夹中文件的其他PC。 我正在使用 Centos 6.3 。我使用 Samba 来共享我的文件夹。我使用 Python 2.7 和 PYinotify 脚本。< / p>
这是我的代码
import pyinotify
wm = pyinotify.WatchManager()
mask = pyinotify.IN_DELETE | pyinotify.IN_CREATE
class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "",now.strftime("%b-%d-%Y @ %I:%M %p")," " ,socket.gethostname()," ","Create "," ",event.name," ",event.path
def process_IN_DELETE(self, event):
print "",now.strftime("%b-%d-%Y @ %I:%M %p")," " ,socket.gethostname()," ","Shift+Del","",event.name," ",event.path
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch('/echoshare', mask, rec=True)
auto_add = '/echoshare'
notifier.loop()
答案 0 :(得分:1)
我认为你误解了(py)inotify是什么。 这是一种监视文件系统事件的方法,您将获得有关samba服务器在本地文件系统上完成的操作的信息。
如果您查看inotify documentation,您会注意到inotify_event结构不包含有关用户执行操作的任何信息。
我想对您来说最简单的解决方案是在您的samba服务器上启用event logging并解析生成的事件以获取您想要的信息