SMB(server message block,服务信息块)是在局域网上共享文件和打印机的协议。
Samba包含一组软件包,它能够让linux支持smb协议。它主要负责处理和使用远程文件和资源。Samba的核心是两个守护进程smbd(监听139tcp端口并处理到来的smb数据包)和nmbd(监听137和138udp端口,并使其他主机资源能够浏览linux服务器)。
Samba服务有两个:SMB和NMB。MB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
文件共享:本次主要是实现linux和windows之间的共享。插一句,samba也可以实现linux和linux之间共享,不过由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,所以。。。。
**权限控制:**可以提供用户登入Samba主机时的身份认证,以提供不同身份者的个别数据。
**名称解析:**可以进行windows网络上的主机名解析
主机名称 | IP地址 | 功能 | 备注 |
---|---|---|---|
xiehui | 192.168.0.23 | samba服务器 | linux |
– | – | – | – |
jajx-zappa | 192.168.0.201 | 测试访问 | windows |
[root@DEVDB ~]# rpm -qa|grep samba
samba-common-3.0.33-3.28.el5
samba-client-3.0.33-3.28.el5
samba-3.0.33-3.28.el5
workgroup = MYGROUP 定义samba服务器所在的工作组
server string = Samba Server Version %v smb服务的描述
log file = /var/log/samba/log.%m 日志文件
max log size = 50 日志的最大大小KB ==
security = user == 认证模式:share匿名|user用户密码|server外部服务器用户密码
passdb backend = tdbsam 密码格式
load printers = yes 加载打印机
cups options = raw 打印机选项
[homes] 局部选项(共享名称)
comment = Home Directories 描述
browseable = no 隐藏共享名称
writable = yes 可读可写
[printers] 共享名称
comment = All Printers 描述
path = /var/spool/samba 本地的共享目录
browseable = no 隐藏
guest ok = no == ——> public = no 需要帐号和密码访问==
writable = no ==read only =yes 不可写 ===
printable = yes 打印选项
公司:wdgs,有三个部门cw,rs,sc和一个公共区pub,每个部门的资料根据如下需求进行共享:
1、财务部门 /samba/wdgs_cw ,cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。
2、市场部门 /samba/wdgs_sc,市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。
3、HR部门 /samba/wdgs_rs ,rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询
4、休息区 /samba/wdgs_pub 自己管理自己的文件
[root@xiehui ~]# groupadd wdgs
[root@xiehui ~]# groupadd cw
[root@xiehui ~]# groupadd rs
[root@xiehui ~]# groupadd sc
[root@xiehui ~]#
[root@xiehui ~]# groupadd wdgs
[root@xiehui ~]# groupadd cw
[root@xiehui ~]# groupadd rs
[root@xiehui ~]# groupadd sc
[root@xiehui ~]# useradd cw01 -g cw -G wdgs
[root@xiehui ~]# useradd cw02 -g cw -G wdgs
[root@xiehui ~]# useradd rs01 -g rs -G wdgs
[root@xiehui ~]# useradd rs02 -g rs -G wdgs
[root@xiehui ~]# useradd sc01 -g sc -G wdgs
[root@xiehui ~]# useradd sc02 -g sc -G wdgs
[root@xiehui ~]# useradd boss01 -g wdgs -G cw
[root@xiehui ~]# useradd boss02 -g wdgs -G sc
[root@xiehui ~]# useradd vip
[root@xiehui ~]#
[root@xiehui ~]# mkdir /samba/{rs,sc,cw,pub} -p
[root@xiehui samba]# chmod 770 /samba -R
[root@xiehui samba]# chown root.wdgs /samba
[root@xiehui samba]# chown root.cw cw
[root@xiehui samba]# chown root.sc sc
[root@xiehui samba]# chown root.rs rs
[root@xiehui samba]# chmod 1777 pub
[root@xiehui samba]# vim /etc/samba/smb.conf
[global] ##这部分是修改的,其它部分是添加的
workgroup = WDGS
server string = SHD20181219
passdb backend = tdbsam
cups options = raw
[cw]
comment = cw01 rw cw02 r boss01 rwx rs01rs02 r
path = /samba/cw
valid users = @cw, boss01, @rs
read list = @cw, boss01, @rs
write list = cw01, boss01
[rs]
comment = rs01 rw vip r
path = /samba/rs
valid users = @rs, vip
read list = @rs, vip
write list = rs01
[sc]
comment = sc01sc02 rw boss02 rwx others r
path = /samba/sc
valid users = @wdgs
read list = @wdgs
write list = @sc, boss02
[pub]
comment = zjgzj
path = /samba/pub
valid users = @wdgs
read list = @wdgs
write list = @wdgs
guest ok = Yes
hosts allow = 192.168.0.
[root@xiehui samba]# testparm
[root@xiehui samba]# smbpasswd -a cw01
[root@xiehui samba]# smbpasswd -a cw02
[root@xiehui samba]# smbpasswd -a rs01
[root@xiehui samba]# smbpasswd -a rs02
[root@xiehui samba]# smbpasswd -a sc01
[root@xiehui samba]# smbpasswd -a sc02
[root@xiehui samba]# smbpasswd -a boss01
[root@xiehui samba]# smbpasswd -a boss02
[root@xiehui samba]# smbpasswd -a vip
启动服务
[root@xiehui samba]# /etc/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
设置smb服务开机自启动
[root@xiehui samba]# chkconfig --level 35 smb on
[root@xiehui samba]# smbpasswd -a cw01
[root@xiehui samba]# smbpasswd -a cw02
[root@xiehui samba]# smbpasswd -a rs01
[root@xiehui samba]# smbpasswd -a rs02
[root@xiehui samba]# smbpasswd -a sc01
[root@xiehui samba]# smbpasswd -a sc02
[root@xiehui samba]# smbpasswd -a boss01
[root@xiehui samba]# smbpasswd -a boss02
[root@xiehui samba]# smbpasswd -a vip
查看用户
[root@xiehui samba]# pdbedit -L
测试后
发现问题:boss01无法管理cw,hr部门不能访问cw,
[root@xiehui samba]# setfacl -m u:boss01:rwx cw
[root@xiehui samba]# setfacl -m u:rs01:rx cw
[root@xiehui samba]# setfacl -m u:rs02:rx cw
其他控制策略请自测
host deny = 192.168.0. 拒绝某个网段
host allow = 192.168.5.1 允许某个IP
host deny = all 拒绝所有
host allow = all EXCEPT 192.168.5.254 允许所有,拒绝某个IP