samba系列问题之分析解决过程

本文总结了在Linux应用进程开发中遇到samba问题时的分析和解决过程。问题表现为多个用户在Mac和Windows上连接文件服务器(SAMBA)时的冲突。针对此问题,提出了两种解决方案:在Mac上通过改变Server Address字段的格式字符串连接;在Windows上,用户需断开当前网络共享映射,或者使用不同服务器名称或IP地址连接。
摘要由CSDN通过智能技术生成

目的:总结Linux应用进程开发过程中碰到棘手问题时的分析方法及解决过程

背景:项目中的samba经过裁减后使用,导致出现以下一系列问题,之前对samba进程源码也是一无所知

问题:

1.mac系统不能访问samba,后来发现密码大写就能访问,涉及NTLM和LM口令验证
2.改成user模式后,失去权限控制
3.改好权限控制后,mac中点击无权限目录没反应,导致所有目录都无法访问
4.mac客户端开始连接server的时候速度很慢难以接受
5.同一个PC上多个username无法访问samba

分析:
问题1———
      samba采用share控制模式并加入权限控制,在windows系统中访问时,点击每个目录才要求输入用户名和密码,工作也正常。在mac系统中连接samba时,首先就要求输入用户名和密码,但是始终连接不上去。
      碰到这个问题首先在samba进程中加入打印代码进行跟踪,运行时发现console全无打印,没有打印怎么跟踪,又如何调试。还没开始就好像要打住了,没办法只能从main开始密密麻麻的加打印,再运行终于看到打印并终止于某个地方,这才发现该处将打印设备的文件描述符close掉了,打开即可。
      回来定位问题,samba源码文件太多,找到auth目录及其他相关目录下的可疑权限验证文件,依次加打印,经过多次测试发现在 函数password_ok处总是密码验证失败导致mac系统无法登录,而win7却正常通过密码验证。接着去了解samba兼容的 LanManager和Windows NT口令加密相关知识,了解samba本身的密码验证原理。(插述:client端连接server时首先会进行一个简单的协商交互,server会产生一个随机值返回给client;client接着用密码的散列口令值作一些处理形成密钥࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值