破洛洛手机网
当前位置: 首页 > 服务器 > Linux > 正文

RHEL 6 搭建Samba服务

作者:佚名 来源:网络整理 2015-8-5

   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

 

  实验之前将防火墙关掉

 

  /etc/samba samba的主配置目录

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

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

  /etc/samba/smbusers samba的别名

 

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

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

 

 

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

  smbclient -L //192.168.1.210 -U user1

 

 

  共享/linux目录共享名为share

 

 

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

 

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

  不安全

 

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

 

 

  只能看到共享的东西但是进不去那是因为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

 

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

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

  path = /linux 共享路径

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

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

 

  客户端连接

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

 

 

  仅允许用户在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 两个同时存在允许优先

 

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

  方法:

  1在全局启用映射表

  username map=/etc/samba/smbusers

  2添加映射帐户

  vim /etc/samba/smbusers

  3重启服务

 

 

  

推荐阅读