samba 部署与实验
一、本地用户登录
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 部署与实验的更多相关文章
- Samba CVE-2017-7494验证实验
漏洞简介 Samba是在Linux和UNIX系统上实现SMB协议的一个软件,不少IoT设备也使用了Samba.2017年5月24日Samba发布了4.6.4版本,修复了一个严重的远程代码执行漏洞,漏洞 ...
- Samba部署共享服务
在本地PC文件共享 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享资源软件,实现了Windows和Linux系统间的文件共享 1.安装Samba服务程序 yum in ...
- Linux之Samba部署
1.Samba介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成,SMB(Server Messages Block,信息服务块)是一种 ...
- Rancher2.0中使用外置NFS存储部署Nginx实验
目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目 ...
- 部署和调优 1.9 samba 部署和优化-3
实践2 要求:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写 打开配置文件 vim /etc/samba/smb.conf 改为security = user 在最后面增加一段 [den ...
- 部署和调优 1.8 samba 部署和优化-2
Samba 可以实现 Linux 和 Windows 机器相互共享文件,这对我们来说是非常实用的.下面做几个实践,来了解samba,注意:在实践之前,请先检测 Selinux 是否关闭,否则可能会实践 ...
- 部署和调优 1.7 samba 部署和优化-1
Samba服务可以实现linux上共享一个目录,windows上面访问. 安装 yum install -y samba samba-client 配置文件在 vim /etc/samba/smb.c ...
- 网络服务-SAMBA
1. Samba 概述 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内不同操作系统的计算机之间提供文件及打印机等资源的共享 ...
- 部署 DevStack - 每天5分钟玩转 OpenStack(17)
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...
随机推荐
- Python2.7下,调用subprocess启动子进程,读取子进程标准输出若干问题
1:如果调用的子进程也是一个python脚本,则subprocess.Popen中的bufsize=1无效果.也就是说,即使设置了bufsize=1表示进行行缓冲,子进程如果不显示调用sys.stdo ...
- APP上线前,如何做运营推广工作?
http://www.cocoachina.com/market/20150723/12731.html 一 竞品分析 1.选择竞品,做好定位(选择两个产品最好,最多三个). 如何获取竞品? A 百度 ...
- java 操作Oracle 批量入库的问题
java 操作Oracle 批量入库的问题 先说下我运行的环境: Windows7 64位操作系统 (四核)Intel i5-2300 CPU @2.80GHz 内存4G 硬盘1T Jdk1.6+My ...
- QT_OPENGL-------- 4.可编程管线绘制三角形
一.环境:qt下qmake编译首先在qt .pro文件中添加glew和glfw的链接 LIBS+= -L/usr/lib64 -lGLEW LIBS +=-L/usr/local/lib -lglfw ...
- 文字内容展开与折叠jquery代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【转载】GAWK AWK工具使用手册
IBM GAWK入门资料http://www.ibm.com/developerworks/cn/education/aix/au-gawk/ AWK 是什么? 最简单地说,AWK 是一种用于处理文本 ...
- LeetCode103 Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- React Native自定义导航栏
之前我们学习了可触摸组件和页面导航的使用的使用: 从零学React Native之09可触摸组件 - 从零学React Native之03页面导航 - 经过之前的学习, 我们可以完成一个自定义导航栏了 ...
- this 、静态变量
/*作者:qingfeng日期:2017/2/18功能:this,静态变量(类变量)*/class Demo3_2{ public static void main(String args[]) ...
- Java练习 SDUT-2585_机器人II
机器人II Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 自从xiao_wu发明了只能向左转与向右转的机器人以后,热血 ...