linux下的SAMBA服务------SMB协议

本文详细介绍了Linux下的SAMBA服务,包括SMB协议的基本概念和功能,如何配置Samba服务,如安装、配置文件设置、添加用户等。通过案例展示了配置文件的应用,如设置公共文件服务器权限。还探讨了Samba的多用户机制,包括挂载参数和身份切换。最后,给出了一个多用户挂载的实例,详细说明了如何满足特定的访问权限需求。
摘要由CSDN通过智能技术生成

SAMBA基本介绍

概念

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。也是window下所使用的文件共享协议,我们在linux系统或者其类unix系统当中可以通过samba服务来实现SMB功能。
在linux中我们可以使用 FTP NFS这类型文件共享协议,但是对于window上比较简单的直接打开的服务,在linux中的nfs协议来说是不能在window上使用的,这种直接将文件系统共享出来的协议为SMB。

功能
  1. 通过SMB协议进行文件共享
  2. 通过SMB协议进行打印共享(我们可以通过在linux上通过smb配置打印服务器,为window提供打印服务)
  3. 加入一个windows2000/2003/2008域环境
  4. 通过windows域环境进行认证操作。

SMB协议又称为CIFS(Common Internet File System)协议

SAMBA配置

安装samba

已经配置好了yum仓库,进行下列操作
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# yum install samba -y
Samba拥有两个主服务(相关服务),对于一般使用的服务他只有一个主服务
smbd (提供samba核心功能也是使用最多的一种功能) 提供文件及打印共享服务功能,使用139/445端口
nmbd 提供Netbios(解析协议慢慢的被淘汰)支持,使用137/138端口,而对于这种协议使用较少,现在都是dns进行解析
一般作为文件共享使用samba,则只需要smbd服务

SAMBA配置文件
SAMBA的配置文件为/etc/samba/smb.conf

配置文件分为:
[global] 定义全局性配置(配置samba服务的相关参数)
[homes] 定义对用户家目录的共享配置(其实在默认情况下不做任何设置,直接启用服务我们就可以通过smb协议访问所有用户的家目录)
[printers] 定义打印机共享配置

[global]	//全局配置
        workgroup = MYGROUP	//定义该Samba服务器所在的工作组或者域
        server string = Samba Server Version %v	//设定机器的描述,当我们通过网络邻居访问的时候可以在备注里面看见这个内容,而且还可以使用%v = Samba服务的版本号。
        log file = /var/log/samba/log.%m	// 定义记录文件的位置LogFileName
        max log size = 50	//定义记录文件的大小size(单位是KB,如果是0的话就不限大小)
        security = user	
        /*定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:
		* share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
		* user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
		* server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
		* domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
		后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
*/
        passdb backend = tdbsam
        load printers = yes
        cups options = raw
[homes]	//在smb.conf文件中一般没有对这个目录的设定特定内容比如路径等。当客户机发出服务请求时,就在smb.conf文件的其它部分查找友特定内容的服务。如果没有发现这些服务,并且提供了homes段时,那么就搜索密码文件得到用户的Home目录。通过Homes段,Samba可以得到用户的Home目录并使之共享。
        comment = Home Directories
        browseable = no
        writable = yes
        valid users = %S	//设置登录用户可以访问
        valid users = MYDOMAIN\%S

[printers]
        comment = All Printers
        path = /var/spool/samba	//path指明打印的文件队列暂时放到/var/spool/samba目录下。
        browseable = no
        guest ok = no	// guest ok说明游客也能打印
        writable = no
        printable = yes	//指明该打印机可以打印
        write list = +staff	// @用来指定可以在该共享下写入文件的用户  

主配置文件

[root@localhost ~]# vim /etc/samba/smb.conf
[global]          //全局控制段                                    
    workgroup = workgroup   //工作组
    server string = Samba Server Version %v
    security = user
    encrypt passwords = yes     //密码加密
    wins support = yes          //wins支持            
    log level = 1               //日志级别                  
    max log size = 1000         //最大日志kb               
    read only = no              //可读写        
[homes]        //家目录                                 
    browsable = no        //浏览                      
    map archive = yes                        
[printers]      //打印机                                   
    path = /var/tmp       //指定目录
    printable = yes       //是个打印机                         
    min print space = 2000    //空间                           
[test]         //共享的目录                                              
    browsable = yes        //可浏览                        
    read only = yes        //只读                        
    path = /usr/local/samba/tmp     //共享的服务器目录

windows系统访问:
\\172.24.8.130服务器地址
在这里插入图片描述
提示输入用户以及密码
在这里插入图片描述
那么我们便添加samba用户

添加SAMBA用户
[root@localhost ~]# useradd aaa          //先添加用户
[root@localhost ~]# useradd bbb
[root@localhost ~]# useradd ccc
[root@localhost ~]# smbpasswd -a aaa  //添加samba用户
New SMB password:                    //密码均为redhat
Retype new SMB password:
Added user aaa.
[root@localhost ~]# smbpasswd -a bbb
New SMB password:
Retype new SMB password:
Added user bbb.
[root@localhost ~]# smbpasswd -a ccc
New SMB password:
Retype new SMB password:
Added user ccc.
[root@localhost ~]# pdbedit -L		//查看samba用户
aaa:1001: 
ccc:1003:
bbb:1002:

window系统访问查看:
在这里插入图片描述
使用aaa用户登陆,访问到它的家目录
在这里插入图片描述
windows系统中删除登陆缓存信息

cmd>net use * /delete

在这里插入图片描述
在这里插入图片描述

SAMBA下的部分常用参数
用户控制:
public =所有用户都可以访问    /guest ok=yes/no
map to guest = Bad User        匿名访问
browseable =   可浏览(设置共享是否可游览,如果是no表示隐藏,通过ip+共享名进行访问)
valid users = username,@组名       设置黑名单
writable = yes        可写,还要看目录权限
writable list = maomao,@GROUPNAME,+GROUPNAME
readonly = yes 		只读设置
create mask = 0644	 客户机创建文件权限
directory mask = 0744 	客户机创建目录的权限
valid user = user1,user2,@group1		禁止登录用户,用户用逗号隔开,组用@  
  invalid =            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值