一、本地用户登录
1、本地用户验证(Samba服务器默认的安全级别,用户在访问共享资源之前必须提供用户名和密码进行验证)

拓展:tdbsam:该方式是使用一个数据库文件来验证。数据库文件叫passdb.tdb。可以通过pdbedit -a 向数据库中添加新用户,不过要建立的Samba用户必须先是系统用户。也可以理解为我们使用pdbedit -a 将系统用户转化为了samba 用户。

  • pdbedit -a username:新建Samba账户(将系统用户转化为samba用户,并设置密码)
  • pdbedit -x username:删除Samba账户
  • pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
2、实验步骤
1、安装samba
yum install samba -y
2、添加samba用户,samba默认使用系统用户,密码需要使用命令单独创建。
useradd love1 -s /sbin/nologin
pdbedit -a love1 #默认共享目录为love1家目录
3、启动samba服务
systemctl start smb
4、客户机查看与登录
smbclient -U love1 -L 100.100.100.110
smbclient -U love1 //100.100.100.110/love1
二、自定义共享区域

1、修改配置文件,增加自定义共享位置

[root@centos7 ~]# vim /etc/samba/smb.conf
[haha]
comment = the share is haha
path = /share/haha
public = yes #允许guest用户访问
browseable = yes
writable = yes

2、创建共享目录,并且修改权限

1)创建共享目录
[root@centos7 ~]# mkdir -p /share/haha
2)修改权限(二选一,推荐使用acl权限)
1、使用文件系统权限
[root@centos7 ~]#chmod 777 /share/haha
2、使用acl权限
[root@centos7 ~]#setfacl -m u:love1:rwx -R /share/haha 只对已经存在的文件生效
[root@centos7 ~]#setfacl -m d:u:love1:rwx -R /share/haha 只对以后新建的文件生效

3、测试配置文件并重启服务

[root@centos7 ~]# testparm
[root@centos7 ~]# systemctl restart smb

4、客户机查看与登录

   [root@centos7 ~]# smbclient -U love1 -L 100.100.100.110
[root@centos7 ~]# smbclient -U love1 //100.100.100.110/haha

4、上传一个文件,测试acl权限

smb: \> put test.sh
putting file test.sh as \test.sh (19.9 kb/s) (average 19.9 kb/s)
smb: \> ls
. D 0 Fri Dec 27 14:51:43 2019
.. D 0 Fri Dec 27 14:33:20 2019
test.sh A 61 Fri Dec 27 14:51:43 2019

6、再创建一个用户love3,love3用户能否删除love1用户上传的文件

[root@centos7 haha]# useradd love3 -s /sbin/nologin
[root@centos7 haha]# pdbedit -a love3
[root@centos7 ~]# smbclient -U love3 //100.100.100.110/haha
smb: \> del test.sh #无法删除,因为只针对love1用户设置了acl权限,love3用户只有rx权限,所以无法修改和上传,只有下载权限。
NT_STATUS_ACCESS_DENIED deleting remote file \test.sh
NT_STATUS_ACCESS_DENIED listing \test.sh
三、访问控制

上一个实验通过修改目录权限达到访问控制,这里通过修改配置文件达到访问控制。前提是将目录权限放到最大,chmod 777 /share/haha

1)部分用户登录 samba 服务器
valid users 仅允许部分用户访问共享区域
修改/etc/samba/smb.conf 中自定义的共享区域
valid users = 用户,@组(多个逗号分隔)
2)部分用户对共享区域有写权限
修改/etc/samba/smb.conf 中自定义的共享区域
read only = yes
write list = love1
3)设置上传文件的默认权限
create mask 文件的默认权限
directory mask 目录的默认权限
例如:
create mask = 666
directory mask = 777
四、用户别名(虚拟用户,该用户具有原用户全部权限)

1、添加别名(/etc/samba/smbusers)

[root@centos7 samba]# vim /etc/samba/smbusers
love1=lv

2、启用别名(修改主配置文件)

vim /etc/samba/smb.conf
username map = /etc/samba/smbusers

3)测试

[root@centos7 ~]# smbclient  -U lv  //100.100.100.110/haha
五、共享目录挂载

1、linux系统挂载

Linux 下:
临时挂载:
mount -t cifs -o username=xxx,password=xxx //服务器 ip/服务器共享 /本地挂载目录
mount -t cifs -o user=love1,password=123456,sec=ntlmssp //100.100.100.110/haha/ /tmp/ (内核为3.10.0-1062.9.1.el7.x86_64,需要指定安全策略,sec=ntlmssp)
永久挂载:/etc/fstab
//服务器 ip/服务器共享 /本地挂载目录 cifs defaults,username=xxx,password=xxx,sec=ntlmssp 0 0

2、window下

1)连接





net use * /del #删除连接信息



2)挂载





samba 部署与实验的更多相关文章

  1. Samba CVE-2017-7494验证实验

    漏洞简介 Samba是在Linux和UNIX系统上实现SMB协议的一个软件,不少IoT设备也使用了Samba.2017年5月24日Samba发布了4.6.4版本,修复了一个严重的远程代码执行漏洞,漏洞 ...

  2. Samba部署共享服务

    在本地PC文件共享 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享资源软件,实现了Windows和Linux系统间的文件共享 1.安装Samba服务程序    yum in ...

  3. Linux之Samba部署

    1.Samba介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成,SMB(Server Messages Block,信息服务块)是一种 ...

  4. Rancher2.0中使用外置NFS存储部署Nginx实验

    目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目 ...

  5. 部署和调优 1.9 samba 部署和优化-3

    实践2 要求:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写 打开配置文件 vim /etc/samba/smb.conf 改为security = user 在最后面增加一段 [den ...

  6. 部署和调优 1.8 samba 部署和优化-2

    Samba 可以实现 Linux 和 Windows 机器相互共享文件,这对我们来说是非常实用的.下面做几个实践,来了解samba,注意:在实践之前,请先检测 Selinux 是否关闭,否则可能会实践 ...

  7. 部署和调优 1.7 samba 部署和优化-1

    Samba服务可以实现linux上共享一个目录,windows上面访问. 安装 yum install -y samba samba-client 配置文件在 vim /etc/samba/smb.c ...

  8. 网络服务-SAMBA

    1. Samba 概述 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内不同操作系统的计算机之间提供文件及打印机等资源的共享 ...

  9. 部署 DevStack - 每天5分钟玩转 OpenStack(17)

    本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...

随机推荐

  1. Pycurl介绍

    pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...

  2. 小爬爬7:回顾&&crawlSpider

    1.回顾昨日内容 回顾 - 全站数据爬取(分页) - 手动请求的发送Request(url,callback) - post请求和cookie处理 - start_requests(self) - F ...

  3. lower_bounder()和upper_bound()的函数

    lower_bound() .upper_bound()都运用于有序区间的二分查找. ForwardIter lower_bound(ForwardIter first, ForwardIter la ...

  4. java.lang.StackOverflowError 解决办法

    java.lang.StackOverflowError com.sxt.servlet.servlet1.LoginServlet.doGet(LoginServlet.java:15) com.s ...

  5. js原生复习2.0

    // 1.闭包的作用// 实现共有变量,函数累加器的实现// 可以做缓存以及储存结构// 可以实现封装,实现属性私有化// 模块开发,防止全局污染// var name = 123;// var in ...

  6. 【Linux】gnuplot命令大全

    gnuplot命令大全 在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出. plot命令 gnuplot> plot sin(x) with line line ...

  7. 【NS2】WiMAX_NS2说明文档(转载)

    关于目前NS2中WiMAX模块的说明 (1)美国NIST(National Institute of Standards and Technology)版, 可以从NIST主页获得,2007.04 r ...

  8. 【BootStrap】--具有增删改查功能的表格Demo

    [BootStrap]--具有增删改查功能的表格Demo 目录(?)[+] 前言 版本一 样式 代码 版本二 样式 代码 版本三 样式 代码 总结 前言 bootstrap的表格样式,有类似EasyU ...

  9. Java练习 SDUT-1255_小明A+B

    小明A+B Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小明今年3岁了, 现在他已经能够认识100以内的非负整数, ...

  10. oracle函数 dbtimezone

    [功能]:返回时区 [参数]:没有参数,没有括号 [返回]:字符型 [示例]select dbtimezone from dual;