如果用户连接到 samba 服务器,可以使用部分include = /somepath/%u.smb.conf
中的global
来调用脚本。 不幸的是,这对我来说不起作用,因为总是给我/somepath/cb0.smb.conf
cb0
testparm
Can't find include file /somepath/.smb.conf
当我连接到服务器时,我可以输入用户名并通过,但它总是拒绝连接。
我正在使用 Samba 版本 3.2.5
如何根据连接的用户加载自定义用户脚本?
答案1
你做得对!但是,testparm
没有用户名可以测试。
答案2
方法 1. 如果你无法让 Samba 执行此操作,请安装失败禁止-- 日志文件监控和安全套件(可通过大多数 Linux 发行版软件管理系统获取的软件包)-- 然后配置 Fail2Ban 以监视 samba 日志中的登录行,将要检测的行数设置为 1,并将操作设置为脚本,该脚本将执行您希望在登录时执行的任何操作。要完成所有这些操作,您需要编辑 /etc/fail2ban 下的文件,并熟悉正则表达式和需要监视的日志文件。
这不会像与 samba 集成的脚本那样干净。例如,它可能不会与用户登录的确切时间同步。
方法 2。同样,它并不像我们想要的那样干净。配置您的 samba 以为每个连接生成一个日志文件。创建名为“unprocessed”和“processed”的目录,并配置 samba 以将每个连接的日志文件转储到“unprocessed”目录。编写一个 cron 作业或循环脚本(可能在迭代之间休眠 1 或 2 秒)以循环遍历未处理目录中的文件并执行您需要执行的任何操作,然后将它们 mv 到已处理的目录中。
如果您更详细地描述您想要做的事情,其他人就可以帮助您。