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 虚拟机 安装操作 ...
随机推荐
- PHPCMS快速建站系列之常用标签
<span class="Nmore"><a href="/index.php?m=content&c=index&a=lists&am ...
- php中括号定义数组
php5.3及之前的版本是不支持中括号定义数组的.5.4之后支持. 错误信息是,不识别“[”
- MyEclipse2014,java文件无法编译,run as上是none applicable,不是文件本身的问题
1.配置一下JDK目录 2.window -> Preferences -> java -> Installed JREs -> Add
- BZOJ 1934洛谷2057善意的投票题解
题目链接 BZ链接 又是一道玄学的网络流题 我们这样建图: 对于同意观点1的原点向其连边,对于同一观点2点向汇点连边 然后如果两个人是朋友,就连一条双向边. 为什么这样是对的呢? 对于一个人来说,他要 ...
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M. Frequent Subsets Problem【状态压缩】
2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M. Frequent Subsets Problem 题意:给定N和α还有M个U={1,2,3,...N}的子集,求子集X个数,X满足:X是U ...
- iOS 设计
APP引导页设计经验分享 http://www.cocoachina.com/design/20150615/12126.html 获取app安装的进度,6种不同的加载指示 http://www.co ...
- 12 将类处理为excel,再将excel处理为类(界限计划3)
中间使用map作为中间处理 将类处理为excel: 1.读取类转为map //读取btl,转为map public static Map getBtlMap(String rule, BTLDAO b ...
- laravel进阶系列--通过事件和事件监听实现服务解耦
简介 Laravel 事件提供了简单的观察着模式实现,允许你订阅和监听应用中的事件.事件类通常存放在 app/Events 目录. 监听器存放在 app/Listeners. 如果你在应用中没有看到这 ...
- 洛谷P2504 [HAOI2006]聪明的猴子
#include<bits/stdc++.h> using namespace std; ; ; int n,m,k,ans; double Max; int monkey[maxn]; ...
- 谷歌BERT预训练源码解析(三):训练过程
目录前言源码解析主函数自定义模型遮蔽词预测下一句预测规范化数据集前言本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BERT针对两个任务同 ...