Samba3.0服务器实战调试

2008-09-25 13:48 稿源:互联网  0条评论

fedora预装的samba已经是samba-3.0.0-15,功能已经非常强大了,今天我们调试的重点不是samba3.0的新功能,我们还是先来实现他的基本功能,文件共享服务,至于域控制器功能我会在以后的调试手记中阐述。

我们今天要实现的环境是,假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;

三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02

然后我们分别就公司的具体情况建立相应的目录及访问权限,通过以下的例子,希望大家能在平时的工作中灵活的应用samba的安全权限来设置你们的samba文件服务器。

1.首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。

2.建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。

3.建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录

4.建议一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。

5.建议一个公共的只读文件夹public,所有人只读这个文件夹的内容。

好,我们先来前期的工作

#groupaddcaiwu

#groupaddnetwork

#groupaddlingdao

#useraddcaiwu01-gcaiwu

#useraddcaiwu02-gcaiwu

#useraddnetwork01-gnetwork

#useraddnetwork02-gnetwork

#useraddlingdao01-glingdao

#useraddlingdao02-glingdao

然后我们使用smbpasswd-acaiwu01的命令为6个帐户分别添加到samba用户中

#mkdir/home/samba

#mkdir/home/samba/caiwu

#mkdir/home/samba/lingdao

#mkdir/home/samba/exchange

#mkdir/home/samba/public

我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。

以下是我的smb.conf的配置文件

[global]

workgroup=bmit

#我的网络工作组

serverstring=Frank'sSambaFileServer

#我的服务器名描述

security=user

#使用用户验证机制

encryptpasswords=yes
smbpasswdfile=/etc/samba/smbpasswd

#使用加密密码机制,在win95和winnt使用的是明文

其他的基本上可以按照默认的来。

[homes]
comment=HomeDirectories
browseable=no
writable=yes
validusers=%S
createmode=0664
directorymode=0775

#homes段满足第1条件

[caiwu]
comment=caiwu
path=/home/samba/caiwu
public=no
validusers=@caiwu,@lingdao,network02
writelist=caiwu01
printable=no

#caiwu段满足我们的第2要求

[lingdao]
comment=lingdao
path=/home/samba/lingdao
public=no
browseable=no
validusers=@lingdao,network02
printable=no

#lingdao段能满足我们的第3要求

[exchage]
comment=ExchangeFileDirectory
path=/home/samba/exchange
public=yes
writable=yes

#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行

chmod-R1777/home/samba/exchange

注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求

[public]
comment=ReadOnlyPublic
path=/home/samba/public
public=yes
readonly=yes

#这个public段能满足我们的第5要求。

到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务哦

#/etc/rc.d/init.d/smbrestart

如果大家没有winodws,不妨先用samba的cilent端命令来测试一下

命令的用法我在这里只举几个例子,具体的大家去试验

smbclient-L服务器ip-N

guest帐户查询你的服务器的samba共享情况,你可以检验一下是否lingdao目录时候能被guest帐户看到,应该是看不到的,当然你也可以以某个用户的名义查看

smbclient-L服务器ip-Ucaiwu01

系统会提示密码,只要输入smb密码就行。

smbclient//服务器ip/caiwu-Ucaiwu01

#以caiwu01用户的名义登录caiwu目录

smbmount//服务器ip/caiwu/mnt/caiwu-ouname=caiwu01

#把服务器的财务目录映射到本地的/mnt/caiwu目录

关于samba的其他用法我会在后续的文章中继续,请大家等待!

参考资料

Samba配置http://www.linuxfocus.org/ChineseGB...rticle177.shtml

O'Reilly线上书籍:http://www.oreilly.com/catalog/samb...book/index.html

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多