Linux中Samba服务器的编译安装以及配置的宏的写法
编译安装查询系统是否安装samba
代码如下:
卸载原有的samba
代码如下:
获取samba源代码http://samba.org/samba/ftp/获取samba源文件包(samba-3.0.24.tar.gz 做实验,路径/home/)解包源文件包
代码如下:
编译安装
代码如下:
新版本的source目录有两个:source3目录里是samba-3.x的源文件,source4目录里是samba-4.x的源文件
代码如下:
samba默认安装在/usr/local/samba目录可以通过指定prefix=your location的方式来指定安装目录:
代码如下:
期间,configure提示找不到cups头文件,于是又先安装了cups。
代码如下:
配置动态链接库路径
代码如下:
加入一行
代码如下:
<p># ldconfig
执行ldconfig命令让配置生效
到安装目录
代码如下:
准备配置文件
代码如下:
修改配置文件,添加一个共享test
代码如下:
在smb.conf最后加上
代码如下:
检测配置文件
代码如下:
添加账户kk
代码如下:
输入密码
启动samba
代码如下:
检测是否启动
代码如下:
win7/win8 下访问Samba服务 密码出错 问题 windows系统中,单击[开始]——[运行] 输入 “secpol.msc”打开管理工具,展开“本地策略”; 然后,单击“安全选项”。 双击“网络安全:LAN Manager 身份验证级别”; 最后,单击列表中:发送LM和NTLMv2,如果已协商,则使用NTLMv2协议。
基本的宏的编写
Samba 字符处理系统1. samba使用多字节字符串——unix字符串(unix strings)unix字符串没有固定的字节长度,但是遵循以下原则: a. 除非是在终端,否则不能含有NULL; b. 兼容7位的C字符串(C strings),对于C中的常量字符和字符串,其每一位都要和unix字符(串)中的位完全等同; c. 大小写转换是,转换后的字符(串)不能占更多的位; d. 能够准确接收客户端传入的全部字符。 UTF-8和大多数多字节的亚洲语言都能够很好的兼容unix。UCS2是例外(含NULL)。 在smb.conf中定义unix charset。 在与客户端发送或接收数据的时候,为了兼容客户端的字符编码,需要使用pull_(接收) 和push_(发送)开头的函数在buffer中格式化数据。 lp_开头的函数,返回值全部是unix strings。2. 相关宏定义(byteorder.h)CVAL(buf,pos)将buf中pos处的字节以无符号字符返回PVAL(buf,pos)将buf中pos处的字节以无符号整型返回SCVAL(buf,pos,val)将buf中pos处的字节设置为valSVAL(buf,pos)将buf中pos处的字节以无符号小端整型(16bit,ushort)返回IVAL(buf,pos)将buf中pos处的字节以无符号小端整型(32bit)返回SVALS(buf,pos)将buf中pos处的字节以有符号小端整型(16bit)返回IVALS(buf,pos)将buf中pos处的字节以有符号小端整型(32bit)返回SSVAL(buf,pos,val)将buf中pos处的无符号小端整型(16bit)值设置为valSIVAL(buf,pos,val)将buf中pos处的无符号小端整型(32bit)值设置为valSSVALS(buf,pos,val)将buf中pos处的有符号小端整型(16bit)值设置为valSIVALS(buf,pos,val)将buf中pos处的有符号小端整型(32bit)值设置为valRSVAL(buf,pos)将buf中pos处的字节以无符号大端整型(16bit)返回RIVAL(buf,pos)将buf中pos处的字节以无符号大端整型(32bit)返回RSSVAL(buf,pos,val)将buf中pos处的无符号大端整型(16bit,ushort)值设置为valRSIVAL(buf,pos,val)将buf中pos处的无符号大端整型(32bit)值设置为val
Samba DEBUG SYSTEMDEBUG书写规则
代码如下:
其中,TIME 时间戳,LEVEL DEBUG级别,FILE DEBUG信息产生的源文件,FUNCTION DEBUG信息产生的函数,LINE DEBUG信息产生的行数,不支持 __FUNCTION__ 宏的显示不出来,TEXT 不包含/n的DEBUG信息EG:
代码如下:
DEBUG()宏DEBUG(para1, para2);其中,para1 DEBUG级别,凡是小于等于全局变量DEBUGLEVEL的,该DEBUG信息将输出到日志,para2 DEBUG信息,即书写规则中的TEXT。在TEXT中,每遇到\’/n\’,将产生一条新的日志(书写规则中的debugfile);没遇到\’/n\’时,追加TEXT。EG:
代码如下:
假设test() == true,则会输出:
代码如下:
DEBUGADD()宏DEBUGADD(para1, para2);其中,para1 DEBUG级别,凡是小于等于全局变量DEBUGLEVEL的,该DEBUG信息将输出到日志,para2 DEBUG信息,即书写规则中的TEXT。在TEXT中,每遇到\’/n\’,将产生TEXT新行;没遇到\’/n\’时,追加。它与DEBUG()的区别就是,它从不产生书写规则中的debughdr。EG:
代码如下:
输出:
代码如下:
DEBUGLVL()宏BOOL DEBUGLVL(para1);其中,para1 DEBUG级别,凡是小于等于全局变量DEBUGLEVEL的,该宏返回true,该函数主要为了解决书写规则中TEXT太长造成的不便。EG:
代码如下:
可以替换为:
代码如下:
更可以替换为:
代码如下:
dbgtext()函数用于调用相关函数输出DEBUG信息到日志文件,即输出书写规则中的TEXT。函数调用vslprintf()函数对TEXT格式化后,调用format debug text()函数将TEXT输出。一般在DEBUGLVL()宏中使用。dbghdr()函数用于输出DEBUG信息中的头信息,即输出书写规则中的debughdr。不对输出内容进行格式化处理。一般在DEBUG()宏 & DEBUGADD()宏中使用。format debug text()函数用于输出DEBUG信息到日志文件,即输出书写规则中的TEXT。函数将要输出的TEXT保存到buffer中,直到找到一个\’/n\’,增加缩进,调用Debug1()函数,输出TEXT到日志,并清空buffer。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux中Samba服务器的编译安装以及配置的宏的写法
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html