常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

Samba-2.2.0初探

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全
阅读上一个主题 :: 阅读下一个主题  
作者 留言
wxjoshua
精神病


注册时间: 2002-09-06
文章: 569

文章发表于: Mon 2002-10-21 23:27:19    发表主题: Samba-2.2.0初探 引用并回复

Samba-2.2.0初探

meaculpa

04/29/2001





SAMBA Team于2001年四月17日发布了Samba最新正式版2.2.0。增强的地方包括:



增强了两种操作系统文件交互功能,当Unix和Windows共享某个文件的时候,可以保证数据的完整性;

能够为Windows 2000和Windows NT客户机提供认证资源。这样可以节省购买Microsoft 客户接入许可证的费用;

支持自动下载Windows 2000/NT打印机驱动程序,首次独立于Microsoft的代码实现Windows NT点对点功能;

将Windows 2000 / Windows NT和UNIX 的接入控制列表统一起来。允许Windows客户机直接操作UNIX接入控制实体;

允许UNIX 服务器使用Windows 2000/Windows NT 域控制器

支持Microsoft分布式文件系统(Microsoft Distributed File System :MDFS)。 Samba 2.2.0 能够在Microsoft 的网络中扮演DFS 服务器的角色。

共享安全设定

同时该开发小组还发布了2.0.8版对先前的2.0.7版进行升级,这次的升级修正了老版本上用户可以通过SHELL账号破坏本地磁盘设备(如RAW设备)的安全漏洞。当然Samba 2.2.0已经包含了所有的安全补丁,如果不想升级到2.0.8就可以直接下载这个最新版了。既然这样,那我们立马就来试装这个新东东。



首先从http://us1.samba.org/samba/ftp/samba-2.2.0.tar.gz得到源代码包,放到/tmp目录里后把它解开:(哦,我的系统是FreeBSD 4.3,也是最新的版本哦!)



bsd# cd /tmp ; tar zxvf samba-2.2.0.tar.gz

然后进入源代码子目录进行自动配置过程:



bsd# cd /tmp/samba-2.2.0/source ; ./configure

如没有什么错误就可以开始编译了:



bsd# make ; make install

完了以后就会在系统的/usr/local/samba中创建以下目录:



bsd# ls /usr/local/samba



bin lib man private swat var

在试运行前需要完成两件事,首先就是拷贝一份smb.conf,接着产生smbpasswd口令数据库:



bsd# cp /tmp/samba-2.2.0/examples/smb.conf.default /usr/local/samba/lib/smb.conf

bsd# cat /etc/passwd | /usr/local/samba/bin/mksmbpasswd.sh > /usr/local/samba/private/smbpasswd

编辑smbpasswd文件从中删除不必要的账号以防止安全隐患,然后用以下命令添加新samba用户:



bsd# /usr/local/samba/bin/smbpasswd -a sambauser

好,我们现在就可以用这份缺省的配置文件进行试运行:



bsd# /usr/local/samba/bin/smbd -D ; /usr/local/samba/bin/nmbd -D

这时请查看/usr/local/samba/var/log.smbd文件有没有出错信息,运气好的话开始测试连接:



bsd# /usr/local/samba/bin/smbclient //bsd/sambauser -U sambauser

added interface ip=192.168.0.2 bcast=192.168.0.255 nmask=255.255.255.0

added interface ip=192.168.1.2 bcast=192.168.1.255 nmask=255.255.255.0

Password: #在这里输入该用户的samba口令

Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.0]

smb: \>

哈哈,我们已经以sambauser的身份连接到他/她的主目录了,以后可以做的事请参考smbclient.1的man吧。



接下来就可以来试2.2分支的最新特性,我们以把它配置成windows 2000客户机的域控制器为例。以下是实现必须的配置:



[global]

; 基本服务器设定

netbios name = bsd

workgroup = unixdomain



; 以域及本地主浏览器方式运作

os level = 64

preferred master = yes

domain master = yes

local master = yes



; 安全性设定

security = user



; 加密口令

encrypt passwords = yes



; 支持域登录

domain logons = yes



; 存放用户简档的目录

logon path = \\%N\profiles\%u



; 指定用户的主目录及映射盘符

logon drive = H:

logon home = \\bsd\%u



; 为所有用户指定通用登录脚本并使用[netlogon]共享项的相对路径

logon script = logon.cmd



; 域控制器必须的共享项

[netlogon]

path = /usr/local/samba/lib/netlogon

writeable = no

write list = ntadmin



; 存放用户简档的共享项

[profiles]

path = /export/smb/ntprofile

writeable = yes

create mask = 0600

directory mask = 0700

接下来就需要为加入进来的客户机建立它们的机器信任账号了。有手工及自动两种方法可以达到目的,如果用前者则必须为每一台客户机分别建立,我们采用后者以减轻系统管理负担,不过只有root账号可以做此项工作,所以需要在smbpasswd口令数据库中为root建立账号(smbpasswd -a root),为安全起见最好不要用系统root的口令。然后在smb.conf中加入下面这一行:



add user script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %m$

用下面这个脚本(BSD风格)启动samba服务器:



#!/bin/sh

smbspool=/usr/local/samba/var/spool

pidfiledir=/usr/local/samba/var/locks

smbd=/usr/local/samba/bin/smbd

nmbd=/usr/local/samba/bin/nmbd



# start

if [ "x$1" = "x" -o "x$1" = "xstart" ]; then

if [ -f $smbd ]; then

if [ -d $smbspool ]; then

rm -f $smbspool/*

fi

echo -n ' Samba'

$smbd -D

$nmbd -D

fi



# stop

elif [ "x$1" = "xstop" ]; then

kill `cat $pidfiledir/smbd.pid`

kill `cat $pidfiledir/nmbd.pid`

fi

然后在windows 2000客户机上以Administrator登录,进入“控制面板”双击“系统”,选择“网络标识”书签并点击“属性”,在“隶属于”项中选“域”,并输入域名(unixdomain),按“确定”,在确认时输入samba的root账号及其相应口令(别用系统口令哦!)然后重启就可以换登录进该域控制器了。



另外这里还有一些系统性能及安全方面的建议,由于我用的是FreeBSD系统,在内核配置文件中加入以下选项并重编译内核:



options SUIDDIR

maxusers 128

前者的作用是使文件服务器上所有用户的主目录都以suiddir选项装载,这样用户产生的新文件同目录具有相同的所有权。不过如果你让用户运行程序的话这就是个安全漏洞了,所以最好只限于在文件服务器上使用此选项,当然这个选项可以解决很多头痛问题,因为它支持很多文件服务器该有的调用,而用户希望“我的目录里只有我的文件”。



而后者的作用就是提高系统表格尺寸,以提升系统对高负载的支持能力,原因是用Samba作文件服务器在大量连接请求会产生大量进程及文件句柄数。128这个值在一般情况下应该够了,请以实际经验取值。

_________________
I have a dream:I want to travel the world.
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 Yahoo Messenger MSN Messenger
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标