您的位置:首页 > 运维架构 > Linux

Samba文件服务器的配置

2007-09-23 11:36 465 查看
 

HTML Tags and JavaScript tutorial

Samba文件服务器的配置

Samba
文件服务器的配置
 
一、基本要求:
1

RedHat Linux
操作系统平台
2

windows
操作系统平台(验证用)
3

RedHat Linux
安装光盘
 

Linux
版本没什么太大的要求,基本具备上面这些就可以进行
samba
文件服务器的配置了。”
 
二、配置步骤:
1

samba
组件安装:

1
)首先用“
rpm –qa |grep samba
”命令检验系统
samba
服务是否安装。
#

rpm –qa |grep samba
samba-common-
3.0.0
.15.i386.rpm
samba-client-
3.0.0
-15.i386.rpm
samba-
3.0.0
-15.i386.rpm
 

2
)如果没有显示
samba
(版本)信息,则说明没有安装,利用“
RedHat Linux
安装光盘”里自带的
RPM
包进行安装(也可自己在网上下载相关的版本包进行安装)。
#

rpm -ivh samba-common-
3.0.0
.15.i386.rpm
#
rpm -ivh samba-client-3.0.0-15.i386.rpm
#

rpm -ivh samba-3.0.0-15.i386.rpm
 
此外还有一个工具就是图形界面的
Swat

要是用这个工具﹐大家还要修改一处﹐就是﹕
vi /etc/xinetd.d/swat
把其中的
disable = yes
改为
disable = no
就可以了。
#
rpm -ivh samba-swat-
3.0.0
-15.i386.rpm
然后开启浏览器输入 http://hostname:901 也可以安装
redhat-config-samba
这个工具。
为了方便远程管理,
Webmin
也不错(建议安装)
 
#

Samba config file created using SWA
T
#
from
0.0.0
.0 (0.0.0.0)
#

Date: 2003/11/19 15:38:38
 
2
、修改
samba
配置文件:(
/etc/smb.conf

***************
Global parameters
******************
#
全局配置参数
[global]
#
设置工作组或者说是域名。
workgroup = MYGROUP
#
网络上看到的计算器名称
(samba)

netbios name = SAMBA
#
服务器描述,
%v
显示
Samba
版本。
server string = Samba Server %v
#
设置
samba
服务器使用的认证过程。默认为
USER
,有四个选项:
User,Share

Server

Domain

Security = User
#
设置纯文本密码的最少字符数。
min passwd length = 6
#
匿名、名称、密码都不正确不准登录服务器。即任何非法用户名登录均被视为
gues
用户。
map to guest = Bad User
#
用户名的映像。
username map = /etc/samba/smbusers
#
存放
samba
密码的路径
smb passed file = /etc/samba/smbpasswd
#samba
日志文件的名字和路径。
log file = /var/log/samba/%m.log
#
日志文件的最大尺寸(
KB

max log size = 50
#
作为时间服务器。
time server = Yes
#
设置连接被视为无效而断开前,未激活状态的时间(
MIN)
,防止资源被无效连接耗费。
deadtime = 5
#
网络协议选项,注意不要更改,否则影响网络速度及网络问题。
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
#
用户成功登录时在
netlogon
共享中运行的批处理文件或者
windows
命令文件,注意:这一项很重要,还有就是一定要配合下面的
[netlogon]
共享才能配置出你的
PDC

%U
为自动匹配登录用户的名称。
logon script = %U.bat
#
在服务器上保存
Windows
用户登录时的配置文件路径,
%L

Samba
匹配服务器名称。
logon path = /%Lprofile/%U
#
设定登录时主目录的当地路径。
logon drive = H:
#Samba
接受所在组用户以域登录。
domain logons = Yes
#
如果要把
samba
设置为域服务器,浏览器的
OS
级别一定要高于
Windows
。这里说名一下:
OS
级别:
windows95

1

98

16

2000

32

os level = 65
#
设置
samba
试图成为主浏览器。
domain master = Yes
#
设置
samba

WINS
服务器。
wins support = Yes
#
超级用户。
admin users = root
#
设置新文件权限。
create mask = 0740
#
建立新文件时强制权限限制。
force create mode = 0740
#
允许用户在
NT2000
下改变权限。
security mask = 0740
force security mode = 0740
#
创建新目录时允许拥有的最大权限。
directory mask = 0750
force directory mode = 0750
directory security mask = 0750
force directory security mode = 0750
#Windows
工作方式,只要文件被修改,其时间戳将随时更新。
dos filetimes = Yes
#Samba
对文件生成时间作取整处理,计为下
1
秒,这也是
windows
工作方式。
dos filetime resolution = Yes
#
共享家目录。
[homes]
comment = Home Directories
read only = No
browseable = No
#
重要的设置,
samba
作为域服务器时存放用户登录时执行的文件或脚本。
[netlogon]
comment = Network Logon Service
path = /home/netlogon
write list = root
guest ok = Yes
share modes = No
#
用户配置文件存放目录


[Profile]
path = /home/profiles
read only = No
create mask = 0770
force create mode = 0770
security mask = 0770
force security mode = 0770
directory mask = 0770
force directory mode = 0770
directory security mask = 0770
force directory security mode = 0770
browseable = No
#
打印机共享目录。
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
 
***************************************************************************
注意:
1

Smb.conf
其它参数用缺省即可。由于
Linux
的权限管理没有
NT
全面,在权限分配较复杂情况下,可以通过两种方式:
A
、对一个目录产生多个共享目录,每个目录对相应的用户组分配不同权限。
B
、可以和
Linux
上文件权限相结合。比如:
samba
共享目录可以给每个人写权限,但
Linux
上文件权限为只给特定组写权限,则其它人只能读。
 
2
、用户及密码管理:
A
、如果
encrypt passwords = ye
s
,用户会有两个密码
(Linux

smbpasswd)

用户改密码会麻烦,所以我设置为
no

samba
会用
/etc/passwd
做用户验证,用户也只维护一个密码,比较方便,但不足够安全,好象
unix password sync = Ye
s
可以既方便又安全,但我没成功。
B
、修改
/etc/passwd
,使用户的
shell

/usr/bin/passwd

这样用户想改密码时,
telnet

samba
服务器即可,其它如
sendmail
服务器也可以用这种方法。
C
、如不想用户的目录出现
/GNUstep
目录,运行
mv /etc/skel /etc/skel.backup
即可。
 
3

windows98
客户端:改注册表。

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP
中增加一
DWORD
值:值名:
EnablePlainTextPassword

数值:
0x01
。改
windowshosts
文件,
ipaddree samba server name
 
4
、过网关:如客户端和
samba server
之间有路由器,确保客户端和
samba server
在同一
workgroup


客户端编辑
windowslmhosts
文件,
a.b.c.d samba server

netbios
名或主机名。

我现在的做法为:给分公司
IT
设一个帐号在总部,让他们通过
CUTEFTP
再通过
public
目录实现总部和分公司的文件传输。这样可以避免分公司一定要跟总公司在一个域(他们还有
NT
)。
 
5
、磁盘限额:

例如一百名,设定和
bob

相同的
quota
值,首先以手动编辑
bob


quota

信息,然后执行:
#
csh
#
edquota -p bob

awk -F:

$3 > 499 {print $1}

/etc/passwd

这是假设你的使用者
UID

500
开始
**********************************************************************************
 
接下来就要手动在
/home
下建立目录:
profiles,
访问权限为
0770,
组为你想要建立的组﹐比如
share
用来存放
Windows
用户的配置文件。
netlogon
访问权限为
1750
,这里加上了
sticky
选项,不允许其它用户删除目录里的文件,只有超级用户或者建立者才可以,注意
sticky
选项只对目录起作用。组为
share
下面建立
/etc/samba
下面的
smbpasswd
文件:
#

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
为了安全起见﹐设置权限:
#
cd /et
c
#
chmod 500 samb
a
#
cd samba
#
chmod 600 smbapsswd
接下来大家可以在
netlogon
目录里建立
windows
用户的登录脚本,比如批处理文件,需要注意的是,一定要在
Windows
下面建立,因为如果在
Linux
下建立,那幺
Windows
就不会执行
Linux
的文件。比如有个帐户
feixue
,批处理文件可以这样:
feixue.bat
内容为:
@net time SambaServer /set /yes
@net use H: SambaServerfeixue -y
@regedit -s SambaServer
etlogon*.reg
等。
需要注意的是把批处理文件保存到
netlogon
下面后一定要检查文件的权限,修正后用户才会执行,不然的话嘿嘿,你有麻烦了﹗﹗﹗
如何配置
Windows
端登录
Samba
域,对于
98
来说很容易,在网络属性里选
Client for microsoft networks
,在第一项打勾,下面输入你的
Samba
服务器的域名
(
工作组
)
。重新激活机器以后,邓入对话框就会有三项:用户名、密码、域名。
NT/2000
下面登录
samba
域会困难一点,首先你要在
Samba
服务器上建立
windowsNT/2000
机器的信用帐号。
下面以一个计算器名为
test
的计算机为例:
#
useradd -c 'Test Compter' -d /dev/null -g share -s /bin/false -r test$
我们创建了一个
Linux
本地帐号,出于安全的考虑不需要它登录到
Linux
进行任何操作,因此的用户目录为
/dev/null

shell

/bin/false

然后我们就可以用
smbpasswd
创建相应的
Samba
机器帐号:
#
smbpasswd -a -m test
其中
-a
是添加,
-m
是机器信任帐号。这样,依据
test$

Linux
帐号创建了一个
NT
域的机器信任帐号
test

然后在
windowsNT/2000
上加入
Samba
域,根据提示输入超级用户的用户名称和密码,就可以加入
Samba
域了。
重新激活机器以后,就会有三个选项了,比如用原先建立的用户
feixue
登入即可。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息