Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301721
  • 博文数量: 32
  • 博客积分: 665
  • 博客等级: 上士
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-25 11:20
文章分类

全部博文(32)

文章存档

2023年(1)

2021年(1)

2020年(2)

2018年(3)

2014年(1)

2013年(2)

2012年(9)

2011年(9)

2010年(2)

2009年(2)

分类: LINUX

2011-12-10 16:23:01

对于自行编译samba-3.6.1版本:
1.目录树有source3 和 source4 两个代码目录,进3的那个,4是版本4的测试版代码。
 
2.configure 选项,网上说有 --with-smbmount这个选项为了使操作系统挂载外界的共享目录。很遗憾在3.6.1中没有这个选项。另外要注意 --configdir那个选项是安装后程序寻找smb.conf配置文件的地方,默认是/usr/local/samba/lib,很别扭,这里建议设成大多数发行版那样的 /usr/samba。
 
3.make 并且 make install 装好后默认目录在 /usr/local/samba,需要启动两个服务进程
/usr/local/samba/sbin/nmbd
/usr/local/samba/sbin/smbd
 
4.这两个主服务进程需要用到自己的.so动态共享库,这些.so文件们很多都在 /usr/local/samba/lib中,而操作系统并不知道上这里来寻找.so动态共享库,所以要设置ld.so的配置。对于我的发行版Debian6上是这样的:
/etc/ld.so.conf中包含了类似这样的语句 /etc/ld.so.conf.d/* 意思是加载/etc/ld.so.conf.d目录下所有的配置文件,配置文件很简单,列出lib目录即可。所以在 /etc/ld.so.conf/ 下建立一个samba.conf的文件,内容写上一行就可以了:/usr/local/samba/lib。
保存好后还要运行 ldconfig 应用这些目录。
 
5.samba软件包安装好后提供了/usr/local/samba/bin/testparm 测试程序,运行他可以看到当前的samba可否运行正确的相关信息。如找不到配置文件,加载不到.so等。如果你的配置是正确的,在提示按回车时按回车键,就会打印出samba加载的配置文件的有效内容了。这里有个技巧,有时设置共享目录的属性时,字符敲错,在这里就不会出现相应的行了。而且有些属性是互相影响的,写两条时只接受其中一条,在这里可以确认设置的正确与否以及最终接受的有效条目。
 
6.smb.conf的配置。这里很繁杂,不详细列出,对于高级应用,最好购买参考书,有本O'reilly的《实战Samba》似乎不错。为了快速应用,在[global]段里将security 设成 share 即可,这样安全性较低但设置简单有效,对于无特殊安全要求的或者在封闭的私有网络中使用还可以。对于急需功能实现的初学者,也可以凑合着用。
 
7.关于使用共享。一种是使用软件包中的smbclient程序,这个有点像传统的ftp程序那样,是来回传文件那样用的,比较原始。
另一种是使用mount挂载:
网上关于smbmount的说法很多,但3.6.1这个版本并没有关于smbmount的选项,而且似乎没有提关于mount的任何事情。在linux内核fs支持里,有一项叫做 cifs的,全称 Common Internet File System。只要你的发行版或开发板的内核支持这种文件系统格式,就可以挂载共享。对于发行版来说一般查看/lib/moudles/2.x.x.-xxx/kernel/fs 下面的目录就可以看出来你的内核支持哪些文件系统。有cifs一般就可以。对于开发板来说,取决于你自己配置的内核选项中是否选了cifs这项。
命令格式:
mount -t cifs //192.168.1.2/public ./win_d -o username=guest
即可。当然你的用户名不一定是guest,只要和你192.168.1.2那边的共享设的一样即可。
 
8.用户认证模式即security = user 时,要用smbpasswd给登陆进来的用户设个密码。这里很令人费解,请注意:登录进来的用户名需要与本地操作系统用户名一致(登陆进来以后,在系统中的行为就是对应的那个本地用户的行为),也就是说,在/etc/passwd中要有这个用户。另外注意的就是,登陆进来的用户密码和本地密码可以不一样。网上有很多编写用户设置脚本的,就是使用脚本来自动地做这件事情。当然可以使用用户映射,这样可以灵活地把外界某个用户视为本地的某个用户,或外界的某几个用户同时映射成本地的同一个用户。
阅读(2669) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

鸪灵2011-12-12 23:44:57

网上批处理解决共享问题的命令不错