一、本地用户登录
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. 在linux里如何建立一个快捷方式,连接到另一个目录

    用软链接 用法:ln -s 源目录 目标快捷方式, 比如你要在/etc下面建立一个叫LXBC553的快捷方式,指向/home/LXBC,那就是 ln -s /home/LXBC   /etc/LXBC ...

  2. Same Tree 深度优先

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  3. 在IDEA中实战Git 合并&提交&切换&创建分支

    工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小 ...

  4. 【NS2】常用资源(转载)

    (一). NS常用基本网站 1. 寻求问题答案最好的地方.    http://mailman.isi.edu/pipermail/ns-users/ 2. 柯老师的网站,包含很多非常实用资源:安装, ...

  5. 洛谷 3174 [HAOI2009]毛毛虫

    题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 ). 输入输出格 ...

  6. Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1) 题解

    A..B略 C 对当前的值排序,再二分答案,然后对于(i%x==0 && i%y==0)放入大的,再放其他的贪心解决即可. #include<iostream> #incl ...

  7. Libev源码分析06:异步信号同步化--sigwait、sigwaitinfo、sigtimedwait和signalfd

    一:信号简述 信号是典型的异步事件.内核在某个信号出现时有三种处理方式: a:忽略信号,除了SIGKILL和SIGSTOP信号不能忽略外,其他大部分信号都可以被忽略: b:捕捉信号,也就是在信号发生时 ...

  8. LOJ 10239 有趣的数列

    LOJ 10239 有趣的数列 首先可以将奇数视作入栈,偶数视作出栈,那么它是卡特兰数,其实打表也能看出来,而且好像可以用dp? 不过这道题的难点不在这里,p不是素数,所以不能用求逆元来做,不过前50 ...

  9. Android教程-01 Android Studio创建第一个项目

    视频教程建议采用超清模式, 关注更多视频订阅我的优酷 最近一直使用Android Studio 简单把Android Studio介绍下 1. 首先介绍下 Android Studio的快捷键 由于之 ...

  10. spring mvc 接收表单 bean

    spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: <?xml versio ...