Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500165
  • 博文数量: 110
  • 博客积分: 3971
  • 博客等级: 中校
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-20 23:27
文章分类

全部博文(110)

文章存档

2015年(2)

2014年(1)

2013年(1)

2011年(9)

2010年(28)

2009年(12)

2008年(13)

2007年(23)

2006年(21)

我的朋友

分类: WINDOWS

2007-05-09 22:42:53

#============================================================#
# /etc/smb.conf
#------------------------------------------------------------------------------------------------------------#
# SAMBA主配置文件
# 配置文件的骨架,根据你的需求选择其中的参数。
#------------------------------------------------------------------------------------------------------------#
# 测试通过的系统: Solaris系统和 Linux各个发布版本
# RedHat 6.0, 7.0 和 7.1
# Solaris 7
# Slackware 7.x
# Mandrake 6.1, 7.0 和 8.1
# SuSe 7.2
#------------------------------------------------------------------------------------------------------------#

# 最近一次更改时间: 08/12/2001
# 作者:Sebastian Sasias - sasias@Linuxmail.org
#============================================================#
#
# 这个文件按照SAMBA规范来开发的,可以参见smb.conf(5)手册。
#
# OBS: 更改本文件以后,使用"testparm"命令来测试。

#
#======================== Global Options =======================#
#
# 总配置
#
[global]
#......................................................................................................................................#
# workgroup = NT-Domain-Name o Workgroup-Name,比如: THEDOMAIN
# PDC域
workgroup = THEDOMAIN (不区分大小写)
#......................................................................................................................................#
# 在其他的机器中声明的本机器的名称
netbios name = SMBServer
#......................................................................................................................................#
# 这个声明会出现在Windows的“网络邻居”中
server string = Samba Server de este lugar
#......................................................................................................................................#
# 这一行由于安全的原因很关键,只许在局域网中特定的计算机的连接。
# 在这个例子中,是192.168.8.0(C级网络)的网络
# 和“环路”(loopback)的接口是可以连接的。
# 更多的细节,请阅读smb.conf man手册。
# 比如:只有从规定开始的ip以后的地址才能共享资源。
# 192.168.8 和 127 (以后的注释)
; hosts allow = 192.168.8. 127.
#......................................................................................................................................#
# 如果你想自动载入一个打印机的清单,这样就不必一个一个手动录入,可以使用:
; load printers = yes
#......................................................................................................................................#
# 覆盖printcap的路径是可能的。
; printcap name = /etc/printcap
#......................................................................................................................................#
# 在SystemV系统中 printcap对lpstat名称属性一定允许
# 自动地从SystemV(这么个词!:-))的spool系统中取得打印机列表。
; printcap name = lpstat
#......................................................................................................................................#
# 如果打印机系统是非标准的,就需要指定是什么打印系统。
# 现在支持的打印系统有:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing = bsd
#......................................................................................................................................#
# 如果你需要一个guest帐户,你不要注释掉下面这行。
# 你一定么加入这条到/etc/passwd里,否则这个用户无“人”可用。
; guest account = pcguest
#......................................................................................................................................#
# 下面这条就是使得每台计算机都有一个不同的log文件
# 通过这个文件和SAMBA服务器相连。
log file = /var/log/samba/log.%m
#......................................................................................................................................#
# 设置log文件长度的限制(单位 Kb)。
max log size = 50
#......................................................................................................................................#
# 阅读security_level.txt for得到更多的细节
# 指定验证密码的方式
# 用户级的安全策略=每个用户都有自己的密码 (SAMBA密码)
security = user
#......................................................................................................................................#
# 如果使用服务器级的安全策略,验证过程在另一个机器上进行。
# 只有在使用服务器级的安全策略时,才使用值"password server"
# 密码服务器等于【认证服务器地址】。

; password server =
#......................................................................................................................................#
# 如果你想使用加密的密码,请阅读Samba文档中的ENCRYPTION.TXT,
# Win95.txt和WinNT.txt。
# 你只有清楚的了解这个属性的足够多的信息才能使用它。
# 信息:Win95,Win98和 WinNT 可以发送加密的密码。
encrypt passwords = yes
#......................................................................................................................................#
# 使用下列的行来定制你的配置。
# 在网络中的每个计算机,%m 取代了自身netbios的名字。
; include = /usr/local/samba/lib/smb.conf.%m
#......................................................................................................................................#
# 在你会发现文档和一些流行的“提示”会告诉你下面的选项可以得到更好的性能
# 试试!
# 阅读speed.txt和手册来知道更多的细节。
socket options = TCP_NODELAY
#......................................................................................................................................#
# Samba 可以配置多种的网络接口。
# 如果你使用多种网络接口,你一定要在下面列出来。
# 阅读手册来知道更多的细节。
; interfaces = 192.168.8.2/24 192.168.12.2/24
#......................................................................................................................................#
# Browser 控制选项:
# 如果你不想让samba做为网络中的主browser, 设置"local master = no"。
local master = yes
#......................................................................................................................................#
# 在OS 水平上,本服务器当选主browser优先权的设置。
# 一般地,缺省值可能就可以了
; os level = 33
#......................................................................................................................................#
# 域主机指定Samba成为域中主Browser。
# 这样允许Samba运行域控制器和在不同的TCP/IP子网中能被“看成”一台机器。

# 如果你使用了 Windows NT/2000域控制器,你就不应该使用它。
domain master = yes
#......................................................................................................................................#
# 更高级的域主在启动中使得Samba成为一个局域的Browser,
# 这使得它有更多的机会(选举成为域主)。
# 如果我们有2个以上的服务器,级别高的服务器会更受“欢迎”,
# 客户机会在一个列表中搜寻到一台服务器的。
preferred master = yes
#......................................................................................................................................#
# 只有你使用NT/2000 服务器在以一个主域控制器(PDC)在运行,你才能使用下条。
; domain controller =
#......................................................................................................................................#
# 如果你想把SAMBA当成Windows 9x/Me 工作站的“域登陆服务器”,你要使用下条。
domain logons = yes
#......................................................................................................................................#
# 如果你使用了“域登陆”,你一定要使用一个登陆脚本,
# 在Windows网络中的每台机器或者每个用户。

# 每个工作站的特定登陆批处理是
; logon script = %m.bat

# 每个用户的特定登陆批处理是
; logon script = %U.bat
#......................................................................................................................................#
# 那里存放零星的profiles文件 (只对Win95和 WinNT有效)
# %L 取代这个服务器的NetBIOS名字, %U 取代用户名
# 如果你使用它,一定不要注释掉下面的Profiles共享
; logon path = \%LProfiles\%U
#......................................................................................................................................#
# Windows互联网解析服务器:
# WINS支持 — 告知NMBD使能它的WINS 服务器。
# WINS协议 把机器名转换成IP地址,
# 它象TCP/IP中DNS那样工作。
; wins support = yes
#......................................................................................................................................#
# WINS服务器-告知Samba的NMBD部件成为WINS的一个客户。
# SAMBA服务器可以成为其中的一个:WINS 服务器或 WINS客户机,
# 但是不可以同时2者皆是。
# 这里WINS IP服务器一定要指定。
; wins server = 192.168.8.1
#......................................................................................................................................#
# WINS代理-告知Samba回应那些没有WINS能力的客户的名字解析的请求,
# 这个情况只有在网络中至少有一台WINS服务器时才有效。
# 缺省是不。
; wins proxy = yes
#......................................................................................................................................#
# DNS代理-告知Samba是否解析NetBIOS名字
# 版本1.9.17 内建的缺省是“是”, 从版本1.9.18 变成了“否”
# 这里我们可以告知SAMBA名字解析使用DNS或者不。
# dns proxy = yes
# dns proxy = no (name resolution will be made by using the file lmhosts )
#......................................................................................................................................#
# 如果登陆的驱动盘没有被指定,Z:单元会自动登陆的。
logon drive = P:
#......................................................................................................................................#
# 当一个登陆出现时,这个脚本被执行: /etc/samba/netlogon/SAMBA.BAT
# 并且使用"netuse"来登陆磁盘单元
logon script = SAMBA.BAT

#====================== Share Definitions ========================#
 
# 每个用户的私人目录
# 单位 P:

[homes]
comment = Home Directories
browseable = no
writable = yes
readonly = no
force create mode = 0700
create mode = 0700
force directory mode = 0700
directory mode = 700

#------------------------------------------------------------------------------------------------------------#
# 临时文件目录
# 单位 T:

[tmp]
comment = Tempora Files
path = /tmp
readonly = no
public = yes
writable = yes
force create mode = 0777
create mode = 0777
force directory mode = 0777
directory mode = 0777

#------------------------------------------------------------------------------------------------------------#
# 服务器的CD-ROM
# 单位 L:

[cdrom]
comment = CD-ROM
path = /mnt/cdrom
public = yes
writable = no

#------------------------------------------------------------------------------------------------------------#
# 组,根据/home/grp.name_group来的
# /home/user/group 是 /home/grp.name_group一个链接
# grp.name_group 使用权限770
# 单位 G:

[group]
comment = Directory of Group
path = /home/%u/group
writable = yes
readonly = no
force create mode = 0770
create mode = 0770
force directory mode = 0770
directory mode = 0770

#------------------------------------------------------------------------------------------------------------#
# 这个单元存放应用软件,安装软件,专用软件等
# /net 和 /net/install的权限是 755, 比如这里, root是它的拥有者
# 单位 N:

[net]
comment = Directory Net
path = /net
writable = yes
readonly = no
force create mode = 0750
create mode = 0750
force directory mode = 0750
directory mode = 0750

#------------------------------------------------------------------------------------------------------------#
[netlogon]
comment = Logon Services in the Network
path = /etc/samba/netlogon
guest ok = yes
writable = no
locking = no
public = no
browseable = yes
share modes = no

#------------------------------------------------------------------------------------------------------------#
#============================================================#

如果你在SAMBA配置中发现一些未知参数的错误信息,你可能有2个 简单的办法解决它:

* 阅读缺省的smb.conf文件,里面相同的行一般会有注释,可以提供 一些“可能产生问题的参数”的信息。
* 阅读SAMBA文档, 从描述最近一次的版本变化的文件开始。

 
********例子
说一下环境:已经有一台windows 2000 做为域控制器,现在就是需要将一台装了red hat as 3的hp150的服务器用做文件服务器,然后通过现在的windows2000域服务器,来对用户进行认证,也就是将这台linux samba的文件服务器加入到域中,而且还要做一下磁盘限额

下面开始做了。

一、系统安装:这个就不多说了,做为服务器吗?讲究分区合理,以求备份,管理,维护等各方面都要达到比较好的效果,请看看《linux os安全及优化》,
二、重新编译内核,注意选择: Quota format v2 support 将其置于Y, 重新编译内核,用新内核启动。(相关的技术请看相关的文档)
三、做磁盘限额:
1、使用新内核登录后,因为我们是文件服务器,所以将文件放于/home这个分区当中,而且将这个分区单独分出来。编辑/etc/fstab文件:LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
我们这里增加了组和用户限制,如果你不需要用户组限制的话,可以去掉相关的grpquota.
2、重新启动机器,忽略启动过程中出现的错误。
3、以root用户登录后,运行命令:quotacheck -vug /dev/hda8(即你的/home分区所在地。
4、然后再重新启动(其实都可以不重启,只要将文件系统umount, 然后再mount就好了)。
此时已经没有错误出现了。
5、登录入系统后即可实现磁盘配额了。quota quotacheck quotaoff quotaon quotastats
如何使用这几个命令,请看相应的文档。

四、安装并配置samba
1、 从网上下载回来最新的samba软件,解开,./configure ,make , make install,默认安装在/usr/local/samba中。配置文件在/usr/local/samba/lib/smb.conf中。
2、将机器加到入域中:
从windows2000的域控制器中使用域用户管理器,增加这台机器 ,然后在linux机器上使用net join 你的域名,提示输入你的域超级用户密码,OK,即可将这台samba服务器加入到域中了。
3、配置smb.conf:

全局配置中注意这几个地方:
# workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
workgroup = KHSUN
# server string is the equivalent of the NT Description field
server string = 文件服务器

#使得中文件档成为可能
unix charset = cp936
display charset = cp936
dos charset = cp936
security = domain #使用domain, 而不要使用server,samba的官方文档也推荐使用domain.
encrypt passwords = yes #密码需要加密。

然后就是可以设置相应的共享文件夹了。而且可以使用中文哦。

例如:
#财务部
[财务部]
comment = 财务部的公用文件夹
path = /home/samba_group/cwb
valid users = @cwb
write list = @cwb

#销售部
[销售部]
comment = 销售部的公用文件夹
path = /home/samba_group/xsb
valid users = @xsb
write list = @xsb

#采购部
[采购部]
comment = 采购部的公用文件夹
path = /home/samba_group/cgb
valid users = @cgb
write list = @cgb

然后就可以使用磁盘限额了。
像这样来做:
useradd -d /home/samba_user/用户名 用户名
groupadd 用户组名
edquota -u(用户)/-g(组) 用户名/组名
edquota -p 用户/组 -u/g 用户/组。
来进行限制了。

阅读(2164) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~