通过cifs导出日志失败

通过redfish接口导出操作日志,文档中说支持SFTP, HTTPS,NFS, CIFS, and SCP这几种协议,我使用cifs验证。

请求体如下所示:

实际导出失败,查看log:

挂载cifs不应该用curl进行传输吧? 麻烦确认一下是不是cifs导出文件的实现存在问题

这里curl开源软件已经明确报错登录拒绝,这些报错网上搜索排查一下服务器有没有问题或者账号密码有没有问题,和bmc代码关系不大了。

我肯定是手动挂载过的,确认用户名、密码、IP以及服务目录没问题。

我的意思是,通过cifs实现文件拷贝,应该不是使用curl才对,而是有专门的挂载命令。从log看,这里对cifs的实现完全错了,从dmesg看根本就没有触发cifs挂载。

cifs走的是挂载,你这里日志和操作是不是一一对应的

这个日志确实是我做图示post操作的时候出现的,我这边尝试了很多次。

所以我才觉得是cifs导出文件的实现出了问题。

这个也可能是这个uri接口实现可能有问题,传给文件传输模块类型传错了

是的 我就是这个意思,您能否联系上这个功能的开发者确认一下?

cifs导出日志失败的根本原因是系统使用了“curl”来处理CIFS协议,curl不支持SMB/CIFS协议,建议暂时先别用cifs导出功能改用其他

能否在社区同步问题单,方便我们跟踪问题的解决进度。

这个问题目前还没有解决,我想到sig组例会里讨论一下 请问关于文件传输的问题,应该到哪个sig组去提?

bmc_core

收到 感谢

@pengqiang-gs 您好,该帖子在上次bmc_core sig会议上有提,说是会帮忙答复,但到现在还没有新的答复,希望帮忙跟进一下,感谢!
image

我暂时判断不是我们cifs服务搭建的问题,有以下两点原因:
①我手动挂载我们的cifs是可以挂载上的
mount -t cifs -o username=root,password=password //CIFS服务器IP/share /mnt/cifs

②就算服务器有问题,BMC去挂载报错也只会是连接超时或者用户名密码错误吧,而不是现在的“curl_perform_with_retry: curl failed, ret=67, Login denied”,curl和cifs完全不同的东西。

curl是支持cifs协议的,所以上传走的是curl,没走挂载,本地也进行了复现验证是可以登录远程服务器的,所以还是需要排查下服务器配置是不是哪里不对,这部分可以网上查询资料看看。

好的,感谢
我了解一下curl支持的cifs协议

本地验证无问题,cfis协议需要远程传输目录必须是/CIFSshare目录

我们的smb配置如下:

使用mount -t cifs -o username=用户名,password=密码 //CIFS服务IP/CIFSshare /mnt/cifs命令可以挂载成功,说明用户名密码没问题;
但是使用curl -T test.loh smb://CIFS服务IP/CIFSshare/test.txt --user用户名:密码 却失败,报错如下:


从打印看已经连接到了cifs服务器,但是认证错误,可是同样的用户名密码mount就可以挂载上,尝试使用smbpasswd命令新增smb用户也报一样的错误。

请问能否指点一下问题所在?

还有想问一下openubmc这边使用的curl版本是多少? 您的cifs服务器使用的SMB版本是多少?


从抓包数据看,openubmc使用的curl版本,支持的smb协议还是smb1,而当前的samba因为安全问题,都是默认禁用了smb1的。

社区能否对cifs传输文件进行优化?如果非要使用curl来实现,至少也要支持smb3.