首页 > 代码库 > Linux系统服务搭建之samba

Linux系统服务搭建之samba

  • 基本概念

局域网内的不同计算机之间提供文件及打印机等资源的共享服务,SMB协议是C/S模型协议。

1.1、相关协议

      Linux——NFSNetwork File System):网络文件系统

      Window——NetBios:主机名解析协议

      LinuxèWindow——CIFS :通用网络文件系统

技术分享

1.2、特点

局域网、跨操作系统平台、可在线修改文件内容

samba——软件、smb——文件共享协议、

1.3、作用

   1、        分享网络文档、打印机

   2、        跨平台访问身份验证、权限设置、支持SSL证书加密

   3、        解析NetBios名字:Samba通过nmbd服务可以搭建NBNSNetBios  Nmae Server)服务器,提供名称解析——将计算机名解析为IP,实现主机之间的访问定位!

1.4、端口

     SMB——TCP  139     445

     NMB——UDP   137     138

1.5、配置文件

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

   用户名别名配置文件——/etc/samba/smbuser(用于隐藏用户真实的名称)

1.6、用户安全级别

   在全局配置文件  “global”下,security = “***”

   share------匿名登录

   user——本地用户(需配置共享密码)和匿名用户都可登录

   server——专门作为一台身份验证的服务器

   domain——通过域控制器验证登录

1.7、全局设置参数

[global]

workgroup =MYGROUP        #工作组名称     

username  map = /etc/samba/smbusers   #启用别名概念             

server string =Samba Server Version %v    #服务器描述信息,一般为版本信息

log file =/var/log/samba/log.%m     #日志文件路径和名称

max log size =50    #如果日志文件的大小超过50KB,则重新记录

security = user    #用户登录安全级别:shareuserserverdomain

passdb backend =tdbsam  #设置共享账户文件类型,默认为tdbsam

load printers =yes  # 自动加载打印机

cups options =raw   #指定打印机的工作模式

netbios name =**    #主机的netbios 的名称

hosts allow = 127. 192.168.100.   #允许访问共享文件的网段及用户IP、域名

realm = **    #指定 Active  Directory


1.8、共享文件区域设置

[homes]  #共享文件名(随便写)

 comment = Home Directories  #共享文件“homes”的描述信息

 browseable = no  #设置共享文件夹在Window的网上邻居中是否可见,此处为不可见

 path = /var/spool/samba    #共享文件夹的目录

 writable = yes    #拥有写权限------read   only 只读模式    刚好相反

 public = yes   #允许共享

 guest ok = yes #允许匿名访问

valid users = abc @xyz+qwe   #仅允许几个用户登录,或者组登录

 注:上面一条命令的使用前提是共享目录拥有777权限

create mask = 666#上传文件的默认权限

directory mask=777  #上传目录的默认权限

read  only = yes #开启只读模式(配置文件内设置)——系统默认

valid users =用户1,用户2   可以访问的用户

write list = 用户1 配置文件内设置)———有“写”权限用户列表

最后的三项经常组合当做白名单使用同时还要给目录更改权限

  • 用户登录

2.1、使用匿名用户登录

设置共享文件夹,直接免用户名登录

步骤:

    第一步    配置本地yum源,安装软件samba

yum  -y install  samba

第二步    配置共享文件/etc/samba/smb.conf

将安全级别改为 security =  share

技术分享

    第三步    启动smb服务

       service  smb  start

    第四步   在客户端登录验证

查看共享文件目录: smbclient   -L   IP      

登录服务器上的共享文件   smbclient   //IP/共享区域名 自己上面【】里面写的那个

技术分享

2.2、使用有效用户登录

有效用户的登录方式和上面的匿名用户一样,只是将上面的安全级别改为

security =  user”此时,匿名用户有效用户都可以登录

2.3、查看系统的共享文件

         使用匿名用户 smbclient    -L   IP

技术分享

          使用指定用户Smbclient    -U    user1    -L   IP   

 技术分享

 


2.4、将系统已有的本地用户转换为samba用户

Pdbedit    -a  bcl  (在服务器端)

并查看已有的samba用户       Pdbedit    -L

技术分享

2.5、创建zhangsanlisi本地用户,张三可以“写”李四为“只读”目录不可见

        先给共享目录开启权限 rw

        修改配置文件

技术分享
                          

 

  • 使用samba实现公司的文件服务器

要求:

1、创建 两个部门HRIT,每个部门两个人hr01hr02it01it02,设置文件共享密码;

2、部门内部的文件只能内部人员查看,别的部门不能查看;

3、用户之间彼此的文件可以查看但是不能修改他人的文件;

4HR部门的文件远程只允许领导办公室192.168.115.200电脑查看;

5IT部门的文件只允许管理员it01有写权限;且只允许其他两个部门192.168.115网段和192.168.100网段的职工查看;

6、谁创建的文件只能谁修改;

7、还要有一个公布员工工资表的文件夹!

实验步骤:

第一步   创建组HRIT,并在组内分别创建成员hr01hr02it01it02,设置共享密码

技术分享

查看添加的组内成员的所有者、所属组、附加组

技术分享

第二步、创建部门目录,设置权限:只能本部门成员使用本部门的目录文件

创建部门共享文件夹:

/home/HR,更改所属组为 HR,设置权限1770,即所有者和所属组有全部权限,且赋予SBIT的权限,谁创建谁负责!

/home/IT,更改所属组为IT,设置权限1770

全公司职工工资表查看文件夹 /home/public

 技术分享

 








第三步、设置配置文件,并给相应的部门开启权限

1、为了实验效果,下面的配置文件将部分权限分开设置;

2、配置三种共享文件夹的具体目录路径,开启共享权限;

3、限制各部门共享文件查看人员权限;

4、测试验证

基于用户的访问控制权限

技术分享

Window系统测试并验证

技术分享

测试hr02用户除了可以查看是否还可以修改hr01用户的资料

技术分享


基于主机的访问控制权限

技术分享


第四步、验证

/public共享文件任何人都可以查看

技术分享

HR目录在非192.168.115.200电脑上登录无论谁都登不上,200IPWindow,在上面已经验证

技术分享

IT目录只能在192.168.115.0192.168.100.0网段的电脑上登录

技术分享

 

 

  • 磁盘映射

Window端缓存清除

net use *    /del

Window端缓存查看

net use

磁盘映射

Linux

    先查看共享的目录 smbclient  -U bcl  -L 192.168.115.193

     临时挂载:

 mount  -t cifs   -o  username=***,password=***    //服务器IP/共享目录     /mnt

技术分享

永久挂载需要写入  /etc/fstab

Window

     我的电脑è(右键)映射网络驱动器è//共享服务器的IP/共享文件夹

     对于windows而言,只要是网络上的共享文件夹,都可以使用这种方式共享

 


本文出自 “老白博客” 博客,请务必保留此出处http://ycreazy.blog.51cto.com/12237051/1931468

Linux系统服务搭建之samba