了解Samba

如果想要共享文件,在Linux对Linux的环境下,最简单的方法就是通过NIS了;至于Windows对Windows的环境下,最简单的方法则是“网上邻居”。那如果局域网中既有Windows也有Linux而且想要共享文件系统的话,那该怎么办?那就要使用SAMBA服务器。SAMBA可以让Linux加入Windows的网上邻居支持,让不同的平台可以共享文件系统,不仅如此,SAMBA也可以让Linux上面的打印机成为打印机服务器(Printer Server)。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

SAMBA主要的功能:

①分享档案与打印机服务;

②提供使用者登入 SAMBA 主机时的身份认证,以提供不同身份者的个别数据;

③进行 Windows 网络上的主机名称解析 (NetBIOS name)

④进行装置的分享 ( 例如 Zip, CDROM... )

SAMBA的作用:

samba是一款软件,主要提供cifs协议(基于文件系统传输)

SAMBA的安装与启用

SAMBA所需软件

  • samba:这个软件主要提供了SMB服务器所需的各项服务程序(smba及nmbd)、相关的文件以及其他与SAMBA相关的logrotate配置文件及开机默认选项文件等
  • samba-client:这个软件提供了当Linux作为SAMBA Client端时,所需要的工具命令,例如挂载SAMBA文件格式的mount.cifs、取得类似网上邻居相关树形图的smbtree等
  • samba-common:这个软件提供的则是服务器与客户端都会使用到的数据,包括SAMBA的主要配置文件(smb.conf)、语法检验命令(testparm)等

samba服务器不记录日志 samba文件服务器_Windows

samba服务器不记录日志 samba文件服务器_配置文件_02

查看samba-common软件包中的配置文件:

samba服务器不记录日志 samba文件服务器_配置文件_03

 启动和停止SAMBA

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_04

获取Samba的基本信息

samba服务器不记录日志 samba文件服务器_服务器_05

Samba用户的管理

1.添加samba用户和查看samba的用户

samba服务器不记录日志 samba文件服务器_配置文件_06

2.删除samba用户

samba服务器不记录日志 samba文件服务器_配置文件_07

共享文件存储

在做实验之前,要关闭火墙,开启samba服务,不然会出现以下问题

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_08

1.匿名链接服务端

samba服务器不记录日志 samba文件服务器_服务器_05

2.用student用户连接

samba服务器不记录日志 samba文件服务器_服务器_10

连接服务器的用户家目录:

samba服务器不记录日志 samba文件服务器_服务器_11

分析被拒绝的原因:可能时因为selinux的问题

修改sebool值。

查看sebool命令为:getsebool  -a | grep sanmba

samba服务器不记录日志 samba文件服务器_Windows_12

可以用setsebool  -P samba_enable_home_dirs on

重新测试

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_13

3.客户端更新服务器

用户只能上传当前的文件到服务端的家目录

[root@117 westos]# smbclient //172.25.254.117/student -U student
Enter student's password: 
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Tue Aug 14 21:28:22 2018
  ..                                  D        0  Mon Aug 13 21:31:13 2018
  .bash_profile                       H      193  Wed Jan 29 07:45:18 2014
  .config                            DH        0  Thu May 11 20:23:54 2017
  .bashrc                             H      231  Wed Jan 29 07:45:18 2014
  .bash_logout                        H       18  Wed Jan 29 07:45:18 2014
  .cache                             DH        0  Thu May 11 20:23:54 2017
  .ssh                               DH        0  Thu Jul 10 18:19:10 2014

		60458 blocks of size 8192. 56477 blocks available

samba服务器不记录日志 samba文件服务器_Windows_14

4.设置挂载

(1)暂时挂载

samba服务器不记录日志 samba文件服务器_Windows_15

samba服务器不记录日志 samba文件服务器_配置文件_16

(2)开机自动挂载:修改配置文件,激活挂载,

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_17

samba服务器不记录日志 samba文件服务器_Windows_18

5.修改工作组名称

修改配置文件(/etc/samba/smb.conf):在修改配置文件后,要重新启动samba服务

samba服务器不记录日志 samba文件服务器_配置文件_19

samba服务器不记录日志 samba文件服务器_配置文件_20

测试:匿名用户连接

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_21

6.访问权限的设定

(1)设置黑名单

[root@server student]# vim /etc/samba/smb.conf 
91         hosts deny = 172.25.254.117
[root@server student]# systemctl restart smb.service

实验:

samba服务器不记录日志 samba文件服务器_配置文件_22

(2)白名单设定

[root@server student]# vim /etc/samba/smb.conf 
91         hosts allow = 172.25.254.117
[root@server student]# systemctl restart smb.service

samba服务器不记录日志 samba文件服务器_配置文件_23

samba服务器不记录日志 samba文件服务器_服务器_24

 

7.共享指定文件

(1)共享用户自己建立的目录

自己建立一个目录(mkdir /westos),更改配置文件,修改安全上下文,刷新

samba服务器不记录日志 samba文件服务器_服务器_25

samba服务器不记录日志 samba文件服务器_服务器_26

实验:

smbclient -L //172.25.254.117

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_27

(2)共享系统目录

更改配置文件,重启服务,在/mnt/下建立file{1..3},测试,要是看不到/mnt下面文件,可能是selinux的问题,更改selinux,再次测试         

samba服务器不记录日志 samba文件服务器_Windows_28

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_29

samba服务器不记录日志 samba文件服务器_Windows_30

用户权限的设定

1.可浏览权限

修改配置文件,添加browseable,重启服务,进行测试

samba服务器不记录日志 samba文件服务器_服务器_31

samba服务器不记录日志 samba文件服务器_配置文件_32

2.可写权限

samba服务器不记录日志 samba文件服务器_配置文件_33

samba服务器不记录日志 samba文件服务器_配置文件_34

3.只对某个用户可写

samba服务器不记录日志 samba文件服务器_Windows_35

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_36

samba服务器不记录日志 samba文件服务器_Windows_37

4.组成员可写

samba服务器不记录日志 samba文件服务器_服务器_38

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_39

samba服务器不记录日志 samba文件服务器_配置文件_40

5.任意用户可写

samba服务器不记录日志 samba文件服务器_配置文件_41

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_42

samba服务器不记录日志 samba文件服务器_配置文件_43

6.目录的超级用户

samba服务器不记录日志 samba文件服务器_Windows_44

samba服务器不记录日志 samba文件服务器_配置文件_45

多用户挂载

在客户端安装加密软件

samba服务器不记录日志 samba文件服务器_配置文件_46

 vim /root/smbauth

samba服务器不记录日志 samba文件服务器_Windows_47

samba服务器不记录日志 samba文件服务器_服务器_48

samba服务器不记录日志 samba文件服务器_samba服务器不记录日志_49

samba服务器不记录日志 samba文件服务器_服务器_50