实战Samba服务器搭建与进阶完整版

基础介绍

smb协议简介

SMB(server message block,服务信息块)是在局域网上共享文件和打印机的协议。

samba软件包及核心进程

Samba包含一组软件包,它能够让linux支持smb协议。它主要负责处理和使用远程文件和资源。Samba的核心是两个守护进程smbd(监听139tcp端口并处理到来的smb数据包)和nmbd(监听137和138udp端口,并使其他主机资源能够浏览linux服务器)。

samba服务

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网络上的主机名解析

实战samba服务器搭建

主机名称 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 自己管理自己的文件

实现步骤

1 创建用户组

[root@xiehui ~]# groupadd wdgs
[root@xiehui ~]# groupadd cw
[root@xiehui ~]# groupadd rs
[root@xiehui ~]# groupadd sc
[root@xiehui ~]# 

2 创建用户

[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 ~]# 

3 创建目录及赋予权限

[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

4 修改配置文件

[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.

5 检测语法

[root@xiehui samba]# testparm

6 创建smb用户密码

[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

7 启动服务,设置自启动

启动服务
[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

8 创建smb用户密码

[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

9 测试,ACL控制策略

测试后
发现问题: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
其他控制策略请自测

10 访问控制

host deny = 192.168.0. 拒绝某个网段

host allow = 192.168.5.1 允许某个IP

host deny = all 拒绝所有

host allow = all EXCEPT 192.168.5.254 允许所有,拒绝某个IP

猜你喜欢

转载自blog.csdn.net/weixin_44167712/article/details/85100969
今日推荐