samba服务

  • 一、samba概述
  • 二、samba构成
  • 三、实验


一、samba概述

samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。

二、samba构成

1.samba软件包的构成
主要包括服务端软件samba、客户端软件samba-client,用于提供服务端和客户端程序的公共组件samba-commom.
2.samba服务提供smbd、nmbd两个服务,分别完成不同的功能。其中,smbd负责为客户机提供服务器中共享资源(目录和文件)的访问,nmbd负责提供基于NetBIOS协议的主机名称解析,以便Windows网络中的主机进行查询服务。
3.安装好软件包以后,系统中会添加名为smb和nmb的标准系统服务,管理员可以通过service工具来控制samba服务的启动与终止。

三、实验

1.配置linux的dhcp

[root@localhost ~]# yum -y install dhcp      //安装dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
root@localhost ~]# vim /etc/dhcp/dhcpd.conf    //配置dhcp配置文件
subnet 192.168.220.0 netmask 255.255.255.0 {
 range 192.168.220.128 192.168.220.180;
 option routers 192.168.220.110;
 option domain-name-servers 192.168.220.110;
}
[root@localhost ~]# systemctl restart dhcpd

2.win10 自动获取IP地址

samba管理ui samba服务功能_samba管理ui

samba管理ui samba服务功能_smb_02


3.安装samba包

[root@localhost ~]# yum -y install samba              //安装samba包
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.example
[root@localhost samba]# mv smb.conf smb.conf.bak       //备份samba配置文件
[root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf    //过滤samba中#注释掉的句子
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.bak  smb.conf.example

4.配置samba匿名访问

[root@localhost samba]# vim smb.conf
[global]
          map to guest = Bad User   	//加这句话为匿名者
[share]
          path = /opt/abc  		//指定文件路径
          public = yes			//公共文件
          browseable = yes		//可访问
          writable = yes		//可写
          create mask = 0644		//上传权限
          directory mask = 0755		//文件目录权限
:wq
[root@localhost samba]# mkdir /opt/abc			//创建路径目录文件
[root@localhost samba]# ls -l /opt
总用量 0
drwxr-xr-x. 2 root root 6 7月  16 09:46 abc		//查看abc权限		
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@localhost samba]# chmod 777 /opt/abc/		//给abc目录可读可写可执行权限
t@localhost samba]# ls -l /opt/
总用量 0
drwxrwxrwx. 2 root root 6 7月  16 09:46 abc		//查看权限
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@localhost samba]# setenforce 0 			//关闭核心防护
[root@localhost samba]# service firewalld stop		//关闭防火墙
Redirecting to /bin/systemctl stop firewalld.service
[root@localhost samba]# systemctl start smb		//开启samba服务
[root@localhost samba]# netstat -antp			//查看端口信息,139,445端口
tcp6       0      0 :::139                  :::*                    LISTEN      14452/smbd  
tcp6       0      0 :::445                  :::*                    LISTEN      14452/smbd    
..........						//省略部分

进win10客户端匿名登录

samba管理ui samba服务功能_linux_03

samba管理ui samba服务功能_samba管理ui_04


匿名用户上传写入

samba管理ui samba服务功能_dhcp_05


进linux查看

[root@localhost samba]# cd /opt/abc/     	//出现创建的目录文档
[root@localhost abc]# ls
111.txt
ocalhost abc]# cat 111.txt 			//查看文档内容
123456
[root@localhost abc]# ll /opt/abc/		//查看文档所属者和所属组,均为匿名用户nobody
总用量 4
-rw-r--r--. 1 nobody nobody 7 7月  16 11:02 111.txt
[root@localhost abc]# id nobody			//查看nobody信息
uid=99(nobody) gid=99(nobody) 组=99(nobody)

5、配置身份验证登录
仅zhangsan,lisi可以访问;zhangsan有写权限,lisi没有写权限

[root@localhost samba]# vim smb.conf
[global]
删除这句话 map to guest = Bad User
[test]
        path=/opt/test
        create mask=0644
        directory mask=0755
        valid users=zhangsan,lisi		//zhangsan,lisi可访问
        write list=zhangsan 			//仅zhangsan可写
:wq
[root@localhost abc]# systemctl start smb
root@localhost abc]# useradd zhangsan		//添加zhangsan账户
[root@localhost abc]# useradd lisi		//添加lisi账户
[root@localhost abc]# smbpasswd -a zhangsan	//添加zhangsan密码
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@localhost abc]# smbpasswd -a lisi 	//添加lisi密码
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost abc]# pdbedit -L    		//查看用户
zhangsan:1001:
lisi:1002:
[root@localhost abc]# cd /opt/
[root@localhost opt]# mkdir test		//创建test共享目录
[root@localhost opt]# chmod 777 test/		//增加权限
[root@localhost opt]# ll			//查看test权限
总用量 0
drwxrwxrwx. 2 root root 21 7月  16 11:02 abc
drwxr-xr-x. 2 root root  6 10月 31 2018 rh
drwxrwxrwx. 2 root root  6 7月  16 11:40 test

samba管理ui samba服务功能_smb_06


登录zhangsan账户

samba管理ui samba服务功能_dhcp_07

samba管理ui samba服务功能_linux_08

samba管理ui samba服务功能_linux_09


登录lisi账户

samba管理ui samba服务功能_linux_10


samba管理ui samba服务功能_samba管理ui_11

samba管理ui samba服务功能_smb_12

samba管理ui samba服务功能_samba_13


6.使用别名登录

给zhangsan新建一个t01的别名

[root@localhost opt]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.bak  smb.conf.example
[root@localhost samba]# echo 'zhangsan = t01' > /etc/samba/smbusers    //新建一个smbusers目录,写入zhangsan别名
[root@localhost samba]# vim smb.conf				//进入配置文件
[global]  
        username map=/etc/samba/smbusers			//添加此内容
 [root@localhost samba]# systemctl start smb			//启动服务

清除缓存,用别名登录

samba管理ui samba服务功能_samba_14

samba管理ui samba服务功能_samba_15

samba管理ui samba服务功能_dhcp_16


7.设置访问控制列表

[root@localhost samba]# vim smb.conf    //进入配置文件

[global]
	  hosts deny=192.168.220. 	//在全局模式下禁止220网段的访问文件
[root@localhost samba]# systemctl start smb

登录拒绝访问

samba管理ui samba服务功能_samba管理ui_17


8.linux作为客户端,windows10作为服务端

[root@localhost samba]# cd ~
[root@localhost ~]# mkdir ck 			//创建一个目录
[root@localhost ~]# ls
anaconda-ks.cfg  ck  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

win10下创建文件及内容

samba管理ui samba服务功能_linux_18

samba管理ui samba服务功能_smb_19

samba管理ui samba服务功能_samba_20

samba管理ui samba服务功能_samba_21

samba管理ui samba服务功能_smb_22

samba管理ui samba服务功能_linux_23

samba管理ui samba服务功能_samba_24

samba管理ui samba服务功能_smb_25

samba管理ui samba服务功能_samba_26

samba管理ui samba服务功能_linux_27


linux客户端

samba管理ui samba服务功能_dhcp_28

samba管理ui samba服务功能_linux_29

samba管理ui samba服务功能_samba管理ui_30

samba管理ui samba服务功能_samba_31