Samba服务的配置

Samba服务概述

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源

Samba服务配置

安装 samba 服务

[root@localhost /]# yum -y install samba
作为依赖被安装:
  pyldb.x86_64 0:1.5.4-1.el7          python-tdb.x86_64 0:1.3.18-1.el7         

更新完毕:
  samba.x86_64 0:4.10.4-11.el7_8                                                

作为依赖被升级:
  libldb.x86_64 0:1.5.4-1.el7                                                   
  libsmbclient.x86_64 0:4.10.4-11.el7_8                                         
  libtalloc.x86_64 0:2.1.16-1.el7                                               
  libtdb.x86_64 0:1.3.18-1.el7                                                  
  libtevent.x86_64 0:0.9.39-1.el7                                               
  libwbclient.x86_64 0:4.10.4-11.el7_8                                          
  pytalloc.x86_64 0:2.1.16-1.el7                                                
  samba-client.x86_64 0:4.10.4-11.el7_8                                         
  samba-client-libs.x86_64 0:4.10.4-11.el7_8                                    
  samba-common.noarch 0:4.10.4-11.el7_8                                         
  samba-common-libs.x86_64 0:4.10.4-11.el7_8                                    
  samba-common-tools.x86_64 0:4.10.4-11.el7_8                                   
  samba-libs.x86_64 0:4.10.4-11.el7_8 

备份配置文件

[root@localhost /]# cd /etc/samba
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.example
[root@localhost samba]# cp -p smb.conf smb.conf.bak

匿名登录配置

编辑配置文件

[global]  ##全局配置
        workgroup = SAMBA
        security = user 
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
        map to guest = Bad User ##添加此项,开启匿名用户访问

[myshare]   ##添加的share文件
                path=/mulu/share1   ##路径
                public=yes   ##公共访问
                browseable=yes ##能够访问
                writable=yes  ##允许有写的权限
                create mask=0644  ##设置权限
                directory mask=0755
[root@localhost samba]# cd /mulu/
[root@localhost mulu]# chmod 777 share1/

测试登录

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

[root@localhost mulu]# cd share1/
[root@localhost share1]# ll
总用量 0
-rw-r--r--. 1 nobody nobody 0 7月  19 12:14 win7ceshi.txt
可以看到属主和属组都是nobody

身份验证smb登录

配置文件

[root@localhost share1]# mkdir /mulu/share2
[root@localhost share1]# vim /etc/samba/smb.conf
#       map to guest = Bad User
[share2]
        path=/mulu/share2
               # public=yes   这行注释掉
                browseable=yes
                create mask=0644
                directory mask=0755
                valid users=tom,jerry          #允许访问的用户
                write list=jerry         #允许写入的用户

[root@localhost share1]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
[root@localhost share1]# useradd jerry
[root@localhost share1]# smbpasswd -a jerry
New SMB password:
Retype new SMB password:
Added user jerry.
[root@localhost share1]# chmod 777 /mulu/share2

测试登录

使用tom登录,发现没有写入权限
在这里插入图片描述

在这里插入图片描述
而使用jerry登录,就一切正常
在这里插入图片描述注:win7下若要切换用户,记得 cmd下输入 net use * /d

账户别名登录

配置文件

[root@localhost share1]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts  smb.com.bak  smb.conf  smb.conf.example
[root@localhost samba]# touch smbbm    #创建一个等会读取别名的文件
[root@localhost samba]# vim smbbm  
jerry = bm01 bm02
再配置主配置文件
[root@localhost samba]# vim smb.conf
[global]
        workgroup = SAMBA
        security = user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
#       map to guest = Bad User
        username map = /etc/samba/smbbm       #指向刚刚创建的文件

测试登录

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

访问控制列表

编辑配置文件

[share2]
        path=/mulu/share2
               # public=yes   
                browseable=yes
                create mask=0644
                directory mask=0755
                valid users=tom,jerry
                write list=jerry
                hosts deny = 20.0.0.12  #加入这行,禁止win7的IP登录
                #也可以输入网段,比如 20.0.0.
[root@localhost samba]# systemctl reload smb                

测试登录

在这里插入图片描述

CenOS访问Win7的samba

创建文件夹

创建一个文件夹,取名 samnet
在这里插入图片描述
在文件夹中创建一个txt文件,且输入内容
在这里插入图片描述

开启win7的guest用户

在这里插入图片描述

编辑本地策略

在这里插入图片描述注意这两条的用户权限
在这里插入图片描述

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

进行文件夹共享

在这里插入图片描述

从centos访问

[root@localhost /]# smbclient -L 20.0.0.12
Enter SAMBA\root's password: 

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享
	F$              Disk      默认共享
	IPC$            IPC       远程 IPC
	samnet          Disk      
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 20.0.0.12 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)

[root@localhost /]# mount.cifs //20.0.0.12/samnet /gz
Password for root@//20.0.0.12/samnet:  
[root@localhost /]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  6.9G   44G   14% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  181M  834M   18% /boot
/dev/mapper/centos-home xfs       245G   33M  245G    1% /home
tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
tmpfs                   tmpfs     378M   48K  378M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt
//20.0.0.12/samnet      cifs      200G   96M  200G    1% /gz
 挂载成功
 [root@localhost /]# cd gz
[root@localhost gz]# ls
shangchuan.txt
[root@localhost gz]# cat shangchuan.txt 
֢oˇwindows 7 µŎļþ    #编码原因
[root@localhost gz]# 

猜你喜欢

转载自blog.csdn.net/Ora_G/article/details/107442546
今日推荐