RHEL 6 搭建Samba服务

10-30

Samba是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFSServer Message Block/Common Internet File System网络协定做连结的自由软件。简而言之此软件在Windows与UNIX系列OS之间搭起一座桥梁让两者的资源可互通有无。

SMB协议是C/S模式客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。配置samba服务可以使同一网络中的linux和windows主机之间互相访问对方共享资源。

samba提供的端口 137,138,139,445

Samba的两个进程

smbd --- 监听tcp的139445端口,处理接口收到的smb数据包

nmbd --- 监听udp的137 138端口,使其他主机能浏览服务器上的资源

Samba五种认证方式

1.share所有人都可以访问这台samba服务器不需要输入用户名和密码。

2.user需要输入有效的用户名和密码才能访问samba服务器身份验证由samba服务器负责。

3.server与user相同只是将身份验证交由指定的另一台samba服务器负责。

4.domain将身份验证交由域控制器负责

5.ads将身份验证交由域控制器负责比domain更为安全一点

yum –y install samba 安装samba软件包

service smb restart samba的共享服务以后修改只要启动这个服务就行下面这个只要第一次启动

service nmb restart 提供的是upd的协议第一次需要启动

chkconfig smb on

chkconfig nmb on

RHEL 6 搭建Samba服务

实验之前将防火墙关掉

RHEL 6 搭建Samba服务

/etc/samba samba的主配置目录

/etc/samba/lmhosts 和本地解析文件/etc/hosts原理一样这样共享不安全。

/etc/samba/smb.conf 主配置文件

/etc/samba/smbusers samba的别名

RHEL 6 搭建Samba服务

workgroup = MYGROUP samba服务器所在的工作组的名称

server string = samba服务器的描述此服务器的samba版本是3.5目前最新的samba版本是4.0黑客通过在官网查询4.0修改了3.0的哪些漏洞就可以攻击此samba服务器但是如果将这里的描述修改一下可以迷惑黑客提高安全。

RHEL 6 搭建Samba服务

smbclient是Samba服务器的命令行方式的登录客户端显示指定Samba服务器中的共享资源列表

smbclient -L //192.168.1.210 -U user1

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务

共享/linux目录共享名为share

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务

user需要输入有效的用户名和密码才能访问samba服务器身份验证由samba服务器负责。

RHEL 6 搭建Samba服务

将安全级别改为share所有人都可以访问这台samba服务器不需要输入用户名和密码。

不安全

RHEL 6 搭建Samba服务

Windows访问linux共享在运行里面输入//192.168.1.210

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务

只能看到共享的东西但是进不去那是因为samba权限没有写的权限还不够这里主要是理解user和share两个认证方式的区别

Samba用户前提是samba用户必须是本地用户并且转换成为samba用户

smbpasswd命令用于维护Samba服务器的用户帐号

n 添加Samba用户帐号

# smbpasswd –a user1

n 删除Samba用户帐号

# smbpasswd -x user1

n 禁用Samba用户帐号

# smbpasswd –d user1

n 启用Samba用户帐号

# smbpasswd -e user1

RHEL 6 搭建Samba服务

允许user1对/linux目录有写权限其他用户均为只读

comment = all linux 注释掉了是对该目录的描述

path = /linux 共享路径

writeable = no 是否允许写操作no代表只读如果是yes代表所有人都可以写

write list = user1 只允许user1对该目录有写入的权限 前提该目录a+W

RHEL 6 搭建Samba服务

客户端连接

mount -t cifs //192.168.1.210/share /opt -o username=user1 填的是/linux下面的/share

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务

仅允许用户在192.168.1.0/24域可以访问允许所有人浏览不允许匿名访问但是加了valid users 就成了只有user1可以访问

browseable = yes 允许所有人浏览

valid users = user1 只能谁才能读(设置允许访问共享资源的用户和组 组要加@)

public = yes 允许匿名访问no不允许匿名访问

hosts deny = 192.168.1.210

hosts allow = 192.168.1.210 两个同时存在允许优先

RHEL 6 搭建Samba服务

账号映射(别名)目的是避免利用samba 帐号来猜测系统帐号

方法:

1在全局启用映射表

username map=/etc/samba/smbusers

2添加映射帐户

vim /etc/samba/smbusers

3重启服务

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务

RHEL 6 搭建Samba服务