工作原因偶配置sambs
服务器的时候比较多,所以写下来和大家共同探讨一下.本文是针对red hat linux 9 samba server的配置.希望能对像我一样的小菜有点帮助.本文没有什么
技术含量.本人涉及linux的造诣不深,还请各位指教.
samba server的配置文件在/etc/samba/下的smb.conf打开一个终端中输入: gedit /etc/samba/smb.conf 也可以用vi编辑.由于文件太长,我把个人认为没有用的东东删除了,主要是一些注释.下面偶解释一下主要字段的意思.由于我的这个文件配置过了,可能你的机器和我的不一样.
======================= Global Settings =====================================
[global]//设置samba 服务整体环境
workgroup = hackase//设置工作组名
server string = angel server// 服务器的名说明
;hosts allow = 192.168.1. 192.168.2. 127. //限制可访问此 服务的IP范围,默认是全部
允许的,要是想设设置去掉前面的";"
printcap name = /etc/printcap //打印机配置文件
load printers = yes//是否共享打印机
# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
printing = cups //打印机的类型.标准打印机类型包括以上几种.
; guest account = pcguest//pcguest为用户名.可改去掉前边的";"让用户以
pcguest身份匿名登录,但保证/etc/passwd中有此人.
log file = /var/log/samba/%m.log//为登录 服务器的用户建立不同的日志文件.
max log size = 0//日志文件的大小,"0"代表无限制
//以下是smb.conf文件对 服务器安全级别的设置
security = SHARE //安全性的级别共四种.share、user、server、domain
;password server = <nt-server-name></nt-server-name>密码验证 服务器.
;password level = 8 //密码级别
;username level = 8
encrypt passwords = yes//用户密码加密,当然也可以不加密
smb passwd file = /etc/samba/smbpasswd //将密码 服务器设置为samba server.需
要这个东东来指定验证文件.这个是文件
的路径,如果samba server是指定的win
server这个不须要
;ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
pam password change = yes
; username map = /etc/samba/smbusers//如果每个windows用户在samba 服务器中有帐户这
个可以不设
;include = /etc/samba/smb.conf.%m
obey pam restrictions = yes
;interfaces = 192.168.12.2/24 192.168.13.2/24如果多网段要在这里列出
;remote announce = 192.168.1.255 192.168.2.44
;local master = no
;os level = 33
;domain master = yes
;preferred master = yes
;domain logons = yes
;logon script = %m.bat
;logon script = %U.bat
;logon path = \\%L\Profiles\%U
;wins support = yes //wins server支持
;wins server = w.x.y.z
;wins proxy = yes //wins 代理设置
dns proxy = no//dns代理设置
; preserve case = no
; short preserve case = no
; default case = lower
; case sensitive = no
#============================ Share Definitions ==============================
[homes]//用户访问自已目录的设置
comment = Home Directories //说明(以下同理)
browseable = no//设定目录可不可以别人浏览
writeable = yes//用户写入自己的权限
valid users = %S
create mode = 0664
directory mode = 0775
; [netlogon]//此段域用户登录目录设置
;comment = Network Logon Service
;path = /usr/local/samba/lib/netlogon
;guest ok = yes
;writable = no
;share modes = no
;[Profiles]
;path = /usr/local/samba/profiles
;browseable = no
;guest ok = yes
[printers] //打印机设置
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes
;[tmp]//用户共享资源设置
;comment = Temporary file space
;path = /tmp//可以自定义目录,去掉前边的";"就OK了
;read only = no //是否只读或可写
;public = yes
;[public]//用户共享资源设置
;comment = Public Stuff
;path = /home/samba
;public = yes
;writable = yes
;printable = no
;write list = @staff
;[fredsprn]
;comment = Fred's Printer
;valid users = fred
;path = /home/fred
;printer = freds_printer
;public = no
;writable = no
;printable = yes
;[fredsdir]
;comment = Fred's Service
;path = /usr/somewhere/private
;valid users = fred
;public = no
;writable = yes
;printable = no
;[pchome]
; comment = PC Directories
; path = /usr/local/pc/%m
; public = no
; writable = yes
;[public]
;path = /usr/somewhere/else/public
;public = yes
;only guest = yes
;writable = yes
;printable = no
;[myshare]
;comment = Mary's and Fred's stuff
;path = /usr/somewhere/shared
;valid users = mary fred
;public = no
;writable = yes
;printable = no
;create mask = 0765
[my work]//偶的东东
comment = is me work
path = /root/my work
valid users angel
public = yes
writeable = yes
好了,了解smb.conf的文件就好办了.我们开始对samba server的四个安全级别分别讲解.
1、share级配置
这个在四个等级中是最低的,方法也是最简单.我们只要对smb.conf文件修改一下就可以了.
workgroup = hackase
server string = angel server
hosts allow = 192.168.1. //限制192.168.1的IP网段可以防问
printcap name = /etc/printcap
load printers = yes//共享打印机
printing = cups //打印机用linux标准的
guest account = angel
log file = /var/log/samba/%m.log
max log size = 20
security = share
===================================================================
其他的设置默认就可以了,也可以像我把所有的注释删除.[tmp]这个字段的";"去掉.路径可以更改. 重启一下 服务 /etc/samba/smb restart// service smb restart 也可
用testparm测试我们配置的文件是否正确:
===================================================================
[root@localhost root]# testparm//测试时[printers]注释掉了所以这里没有.
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[tmp]"
Processing section "[my]"
Loaded services file OK.//如有错误,会在这列出错误的地方.
Press enter to see a dump of your service definitions
==================================================================
用smbclient命令查看 网络共享情况
===================================================================
[root@localhost etc]# smbclient -L localhost//本机名为localhost
Password:
Domain=[HACKBASE] OS=[Unix] Server=[Samba 2.2.7a]
SharenameTypeComment
--------------------
tmpDiskTemporary file space
myDiskis me
IPC$IPCIPC Service (angel server)
ADMIN$DiskIPC Service (angel server)
rootPrinterHome Directories
ServerComment
----------------
WorkgroupMaster
----------------
=======================================================================
2、user级配置
user比share级安全级别高一点点,很简单的,可以在share基础上改一下就可以了.
改一下security = share字段为:security = user.在加上如下字段:
guest account = angel//机器上有这个用户名,如果你没有那就建一个吧!
encrypt passwords=yes
smb passwd file=/etc/samba/smbpasswd
(1)生成口令文件.
#cat/etc/passwd | mksmbpasswd.sh>/etc/samba/smbpasswd
本命令将生成口令文件"/etc/samba/smbpasswd" 这个就是我们刚加上的"smb passwd file=/etc/samba/smbpasswd"
(2)我们知道建账户是建在etc/passwd文件里,我们须要用smbpasswd命令为刚才建立的账名设置samba server口令. 格式为:smbpasswd angel
(3)重启samba server 服务
user级的也OK了,你可以用testparm and smbclient命测试.windows用户想访问就要输入angel and passwd.这个就不是谁都可以访问你的共享资源了.
3、server 级配置
server级比user级也高那么一点,只需要user级配置上修改一下就OK了.
(1)security = user字段为:security = server
(2)加上password server = ******//密码 服务器,这个可以是你的windows主域控制器,也
可以是别一个samba server 服务器(名子无意思)
(3)注释smb passwd file=/etc/samba/smbpasswd
(4)重启samba server 服务,你可以用testparm and smbclient命测试.
好了,又完事一个现在如果一台windows机器登录******(password server = ******设置的)域 服务器的时候,也就同登录上了samba server,如果你以是*****主控域的计算机,那你就可以输入你自己的账号密码打开samba server的文件了,但是你要保证*****和sambs server的账号和密码相同.
4、domain级的配置
domain级的配置是samba server中级别最高的他主要就是把samba加入到域中去,用域 服务器作samba server的密码 服务器.
其实domain级的配置也很简单,只需要在user级的基础上修改:
(1)加入字段:NETBLOS = main//起一个NETBLOS名,放在smb.conf文件的最上边
password server = **//用主域控制器**来做密码 服务器
(2)security = user字段为:security = domain
workgroup = *****//*****是主域控制器的 域名
(3)注释smb passwd file=/etc/samba/smbpasswd
(4)重启samba server 服务,你可以用testparm and smbclient命测试.
终于完事了,好在我的"弹指神功" 技术纯熟.这个时候我们就可以和windows系统通信了,我也要去呼呼了,等等~~~那 网络可以共享了,那么我们本机的linux系统和本机的windows系统怎么通信啊!呵呵.当然有办法,到现在大侠们可以起来活动活动了,帮我看看我写的有什么错误.好了,打开终端输入:[root@localhost root]# fdisk -l//查一下windows系统所在的分区.
Disk /dev/hdb: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStartEndBlocksId System
/dev/hdb1*17385927953+7 HPFS/NTFS
/dev/hdb27397476 54122985f Win95 Ext'd (LBA)
/dev/hdb573914805960083+7 HPFS/NTFS
/dev/hdb6148123837253316b Win95 FAT32
/dev/hdb736516200 20482843+b Win95 FAT32
/dev/hdb862017476 10249438+b Win95 FAT32
/dev/hdb92384239610439183 Linux
/dev/hdb1023973585955061183 Linux
/dev/hdb113586365052208182 Linux swap
[root@localhost root]# mkdir /mnt/my//在mnt下建一个叫my的目录(定义到那自己决定)
[root@localhost root]# mount -t auto /dev/hdb7 /mnt/my//不用说了吧!
这样就可以防问windows的分区了,但是系统分区不可以是ntfs格式的.
windows系统访问linux系统要用到工具,"explore2fs"可以到
http://download.enet.com.cn/html/030282000080601.html下载
在工作中,大多用第二种方法.好了,我终于可以去呼呼了.感谢您看完!!
samba server的配置文件在/etc/samba/下的smb.conf打开一个终端中输入: gedit /etc/samba/smb.conf 也可以用vi编辑.由于文件太长,我把个人认为没有用的东东删除了,主要是一些注释.下面偶解释一下主要字段的意思.由于我的这个文件配置过了,可能你的机器和我的不一样.
======================= Global Settings =====================================
[global]//设置samba 服务整体环境
workgroup = hackase//设置工作组名
server string = angel server// 服务器的名说明
;hosts allow = 192.168.1. 192.168.2. 127. //限制可访问此 服务的IP范围,默认是全部
允许的,要是想设设置去掉前面的";"
printcap name = /etc/printcap //打印机配置文件
load printers = yes//是否共享打印机
# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
printing = cups //打印机的类型.标准打印机类型包括以上几种.
; guest account = pcguest//pcguest为用户名.可改去掉前边的";"让用户以
pcguest身份匿名登录,但保证/etc/passwd中有此人.
log file = /var/log/samba/%m.log//为登录 服务器的用户建立不同的日志文件.
max log size = 0//日志文件的大小,"0"代表无限制
//以下是smb.conf文件对 服务器安全级别的设置
security = SHARE //安全性的级别共四种.share、user、server、domain
;password server = <nt-server-name></nt-server-name>密码验证 服务器.
;password level = 8 //密码级别
;username level = 8
encrypt passwords = yes//用户密码加密,当然也可以不加密
smb passwd file = /etc/samba/smbpasswd //将密码 服务器设置为samba server.需
要这个东东来指定验证文件.这个是文件
的路径,如果samba server是指定的win
server这个不须要
;ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
pam password change = yes
; username map = /etc/samba/smbusers//如果每个windows用户在samba 服务器中有帐户这
个可以不设
;include = /etc/samba/smb.conf.%m
obey pam restrictions = yes
;interfaces = 192.168.12.2/24 192.168.13.2/24如果多网段要在这里列出
;remote announce = 192.168.1.255 192.168.2.44
;local master = no
;os level = 33
;domain master = yes
;preferred master = yes
;domain logons = yes
;logon script = %m.bat
;logon script = %U.bat
;logon path = \\%L\Profiles\%U
;wins support = yes //wins server支持
;wins server = w.x.y.z
;wins proxy = yes //wins 代理设置
dns proxy = no//dns代理设置
; preserve case = no
; short preserve case = no
; default case = lower
; case sensitive = no
#============================ Share Definitions ==============================
[homes]//用户访问自已目录的设置
comment = Home Directories //说明(以下同理)
browseable = no//设定目录可不可以别人浏览
writeable = yes//用户写入自己的权限
valid users = %S
create mode = 0664
directory mode = 0775
; [netlogon]//此段域用户登录目录设置
;comment = Network Logon Service
;path = /usr/local/samba/lib/netlogon
;guest ok = yes
;writable = no
;share modes = no
;[Profiles]
;path = /usr/local/samba/profiles
;browseable = no
;guest ok = yes
[printers] //打印机设置
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes
;[tmp]//用户共享资源设置
;comment = Temporary file space
;path = /tmp//可以自定义目录,去掉前边的";"就OK了
;read only = no //是否只读或可写
;public = yes
;[public]//用户共享资源设置
;comment = Public Stuff
;path = /home/samba
;public = yes
;writable = yes
;printable = no
;write list = @staff
;[fredsprn]
;comment = Fred's Printer
;valid users = fred
;path = /home/fred
;printer = freds_printer
;public = no
;writable = no
;printable = yes
;[fredsdir]
;comment = Fred's Service
;path = /usr/somewhere/private
;valid users = fred
;public = no
;writable = yes
;printable = no
;[pchome]
; comment = PC Directories
; path = /usr/local/pc/%m
; public = no
; writable = yes
;[public]
;path = /usr/somewhere/else/public
;public = yes
;only guest = yes
;writable = yes
;printable = no
;[myshare]
;comment = Mary's and Fred's stuff
;path = /usr/somewhere/shared
;valid users = mary fred
;public = no
;writable = yes
;printable = no
;create mask = 0765
[my work]//偶的东东
comment = is me work
path = /root/my work
valid users angel
public = yes
writeable = yes
好了,了解smb.conf的文件就好办了.我们开始对samba server的四个安全级别分别讲解.
1、share级配置
这个在四个等级中是最低的,方法也是最简单.我们只要对smb.conf文件修改一下就可以了.
workgroup = hackase
server string = angel server
hosts allow = 192.168.1. //限制192.168.1的IP网段可以防问
printcap name = /etc/printcap
load printers = yes//共享打印机
printing = cups //打印机用linux标准的
guest account = angel
log file = /var/log/samba/%m.log
max log size = 20
security = share
===================================================================
其他的设置默认就可以了,也可以像我把所有的注释删除.[tmp]这个字段的";"去掉.路径可以更改. 重启一下 服务 /etc/samba/smb restart// service smb restart 也可
用testparm测试我们配置的文件是否正确:
===================================================================
[root@localhost root]# testparm//测试时[printers]注释掉了所以这里没有.
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[tmp]"
Processing section "[my]"
Loaded services file OK.//如有错误,会在这列出错误的地方.
Press enter to see a dump of your service definitions
==================================================================
用smbclient命令查看 网络共享情况
===================================================================
[root@localhost etc]# smbclient -L localhost//本机名为localhost
Password:
Domain=[HACKBASE] OS=[Unix] Server=[Samba 2.2.7a]
SharenameTypeComment
--------------------
tmpDiskTemporary file space
myDiskis me
IPC$IPCIPC Service (angel server)
ADMIN$DiskIPC Service (angel server)
rootPrinterHome Directories
ServerComment
----------------
WorkgroupMaster
----------------
=======================================================================
2、user级配置
user比share级安全级别高一点点,很简单的,可以在share基础上改一下就可以了.
改一下security = share字段为:security = user.在加上如下字段:
guest account = angel//机器上有这个用户名,如果你没有那就建一个吧!
encrypt passwords=yes
smb passwd file=/etc/samba/smbpasswd
(1)生成口令文件.
#cat/etc/passwd | mksmbpasswd.sh>/etc/samba/smbpasswd
本命令将生成口令文件"/etc/samba/smbpasswd" 这个就是我们刚加上的"smb passwd file=/etc/samba/smbpasswd"
(2)我们知道建账户是建在etc/passwd文件里,我们须要用smbpasswd命令为刚才建立的账名设置samba server口令. 格式为:smbpasswd angel
(3)重启samba server 服务
user级的也OK了,你可以用testparm and smbclient命测试.windows用户想访问就要输入angel and passwd.这个就不是谁都可以访问你的共享资源了.
3、server 级配置
server级比user级也高那么一点,只需要user级配置上修改一下就OK了.
(1)security = user字段为:security = server
(2)加上password server = ******//密码 服务器,这个可以是你的windows主域控制器,也
可以是别一个samba server 服务器(名子无意思)
(3)注释smb passwd file=/etc/samba/smbpasswd
(4)重启samba server 服务,你可以用testparm and smbclient命测试.
好了,又完事一个现在如果一台windows机器登录******(password server = ******设置的)域 服务器的时候,也就同登录上了samba server,如果你以是*****主控域的计算机,那你就可以输入你自己的账号密码打开samba server的文件了,但是你要保证*****和sambs server的账号和密码相同.
4、domain级的配置
domain级的配置是samba server中级别最高的他主要就是把samba加入到域中去,用域 服务器作samba server的密码 服务器.
其实domain级的配置也很简单,只需要在user级的基础上修改:
(1)加入字段:NETBLOS = main//起一个NETBLOS名,放在smb.conf文件的最上边
password server = **//用主域控制器**来做密码 服务器
(2)security = user字段为:security = domain
workgroup = *****//*****是主域控制器的 域名
(3)注释smb passwd file=/etc/samba/smbpasswd
(4)重启samba server 服务,你可以用testparm and smbclient命测试.
终于完事了,好在我的"弹指神功" 技术纯熟.这个时候我们就可以和windows系统通信了,我也要去呼呼了,等等~~~那 网络可以共享了,那么我们本机的linux系统和本机的windows系统怎么通信啊!呵呵.当然有办法,到现在大侠们可以起来活动活动了,帮我看看我写的有什么错误.好了,打开终端输入:[root@localhost root]# fdisk -l//查一下windows系统所在的分区.
Disk /dev/hdb: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStartEndBlocksId System
/dev/hdb1*17385927953+7 HPFS/NTFS
/dev/hdb27397476 54122985f Win95 Ext'd (LBA)
/dev/hdb573914805960083+7 HPFS/NTFS
/dev/hdb6148123837253316b Win95 FAT32
/dev/hdb736516200 20482843+b Win95 FAT32
/dev/hdb862017476 10249438+b Win95 FAT32
/dev/hdb92384239610439183 Linux
/dev/hdb1023973585955061183 Linux
/dev/hdb113586365052208182 Linux swap
[root@localhost root]# mkdir /mnt/my//在mnt下建一个叫my的目录(定义到那自己决定)
[root@localhost root]# mount -t auto /dev/hdb7 /mnt/my//不用说了吧!
这样就可以防问windows的分区了,但是系统分区不可以是ntfs格式的.
windows系统访问linux系统要用到工具,"explore2fs"可以到
http://download.enet.com.cn/html/030282000080601.html下载
在工作中,大多用第二种方法.好了,我终于可以去呼呼了.感谢您看完!!