Linux samba多用户挂载
samba 多用户挂载
通过multiuser挂载选项,使用基于密码验证和cifscreds实现访问控制
在默认情况下,samba共享挂载后,是通过挂载时的验证来实现对挂载资源的访问控制。通过新的multiuser挂载选项,可以实现对访问挂载后的共享的每个用户单独的验证,实现权限隔离。
注意:
要实现多用户挂载,需要客户端和服务端都要有相应的账号,并且服务端把相应账号添加到samba账号中。
多用户挂载需要client和server都存在一个相同的用户,且用户的uid必须相同
建立实验环境:
实验说明:在基于<Linux samba服务搭建,URL:https://www.cnblogs.com/despotic/p/10727111.html>的基础上,需要在dekstop0机器创建brian用户和rob用户,用户uid和server0机器保持一致
执行实验环境配置脚本,可忽略
[root@server0 ~]# lab smbmultiuser setup
[root@desktop0 ~]# lab smbmultiuser setup
client
1、安装挂载工具
[root@desktop0 ~]# yum install cifs-utils -y
2、创建认证文件:填写挂载时候用的用户名和密码
[root@desktop0 ~]# echo 'username=brian' >> /root/smb-multiuser.txt
[root@desktop0 ~]# echo 'password=redhat' >> /root/smb-multiuser.txt
3、建立挂载点:
[root@desktop0 ~]# mkdir -p /mnt/multiuser
4、编辑/etc/fstab文件实现开机自动挂载
[root@desktop0 ~]# vim /etc/fstab
...
//server0/smbshare /mnt/multiuser cifs credentials=/root/smb-multiuser.txt,multiuser,sec=ntlmssp 0 0
...
解释:
- //server0/smbshare 启动server0也可以写作server0.example.com因为最后评分脚本只认server0所以就写server0
- cifs 通用信息网络文件系统,smb的挂载类型
- credentials= 刚开始时创建的用户密码文件,开机挂载的时候不用手动去输入账户密码,默认用该文件中的用户和密码
- sec=ntlmssp
测试:
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 3.1G 7.0G 31% /
devtmpfs 223M 0 223M 0% /dev
tmpfs 238M 0 238M 0% /dev/shm
tmpfs 238M 8.8M 230M 4% /run
tmpfs 238M 0 238M 0% /sys/fs/cgroup
//server0/smbshare 10G 3.1G 7.0G 31% /mnt/multiuser
切换到brian用户进行测试
[root@desktop0 ~]# su brian
[brian@desktop0 ~]$ touch /mnt/multiuser/test.file
touch: cannot touch ‘/mnt/multiuser/test.file’: Permission denied
权限不足,因为实现多用户挂载之后,想访问挂载后的文件,必须实现再次验证
再次验证一下
[brian@desktop0 ~]$ cifscreds add server0
Password: ---> redhat
[brian@desktop0 ~]$ echo "hello" >> /mnt/multiuser/test.txt
[brian@desktop0 ~]$ cat /mnt/multiuser/test.txt
hello
此时可以看见已经可以写入和读取文件
本实验到此结束
评分通过
[root@desktop0 ~]# lab smbmultiuser grade
Checking for cifs-utils rpm package... PASS
Checking for /mnt/multiuser mountpoint... PASS
Checking for multiuser fstab entry... PASS
Checking for multiuser mount... PASS Overall result: PASS
Congratulations! You've passed all requirements.
Linux samba多用户挂载的更多相关文章
- Linux基础二(挂载、关机重启与系统等级)
一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...
- linux系统usb挂载
本次例程的环境是在FC6下,通过终端操作的. 注意要挂载U盘需要有管理员的权限. 切换成管理员,输入: su root 然后输入管理员密码,进行密码认证: 成功后,先在 /mnt 下建立一个名叫USB ...
- samba多用户
注意的点 1:安装 服务器 yum install -y samba* 客户端 yum install -y samba-client cifs-utils 服务器端和客户端网络能ping通 2 ...
- Day 9 Linux samba & ngnix
(摘) Samba服务 一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服 ...
- RHEL6.5上Oracle ACFS与Linux samba一起使用时遇到的bug
RHEL上的Oracle ACFS与linux samba一起使用时遇到的bug 一.环境介绍: cat /etc/issue的结果为: Red Hat Enterprise Linux Server ...
- Linux下磁盘挂载
公司硬盘不够用了,新买了一个存储,需要挂载到现在的系统上.前期的步骤就不说了,运维全部搞定,无非是硬件和网络那一套,这里只说分配到本人后在Linux下如何挂载. 具体步骤如下: 1.查看是否已经分配 ...
- linux下的挂载点和分区是什么关系
Linux 使用字母和数字的组合来指代磁盘分区.这可能有些使人迷惑不解,特别是如果你以前使用“C 驱动器”这种方法来指代硬盘及它们的分区.在 DOS/Windows 的世界里,分区是用下列方法命名的: ...
- 借Windows说明Linux分区和挂载点[转]
在介绍Linux分区和挂载点前,我想先说一个Windows的例子,Windows大家都比较熟,再借这个例子来说明什么是Linux分区和挂载点. 1.消失了的分区 在WinPE下,我将一块硬盘分成一个主 ...
- Linux学习之挂载
linux的系统组织方式是——整个系统从根开始,按树形目录依次向下逐渐扩大,分类存放不同用途的文件,/读作“斜线”,英文slash:当其写作一个路径时,第一个/表示根,即root,其他的/表示路径分割 ...
随机推荐
- POI 生成、导出Excel(包含多个sheet)带 图片
1.导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</ar ...
- Redux 学习总结
1.Redux 设计理念 Web 应用是一个状态机,视图与状态是一一对应的 所有的状态,保存在一个对象里面 2.基本概念和API Redux 的核心就是 store, action, reducer ...
- 给datagridview的下拉框添加valueChange事件
修改datagridview的EditMode属性为EdutOnEnter,否则需要点2次以上才出现下拉框 1.给DataGridView添加EditingControlShowing事件: 2.编辑 ...
- C# Winform开发程序调用VLC播放器控件播放视频.
VLC是个好东西,支持的格式多,还无广告,关键还有调用它的播放控件不用安装. 开个文章记录下调用这个控件的流水账,以便以后需要的时候查阅 创建工程 首先新建一个Winform工程. 这里姑且叫做VLC ...
- strct配置文件详解
1,strct配置文件详解 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configurati ...
- Windows Unity ARKit发布到IOS相关设置及错误解决
Windows 版Unity安装: 考虑到在虚拟机中运行Unity比较卡,所以采用在Windows Unity上将项目发布好然后再复制到Mac虚拟机中通过XCode进行编译的方式. Unity版本为 ...
- 来源于知乎专栏:https://zhuanlan.zhihu.com/p/29619457
1. 校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1- ...
- PHP实现防止SQL注入的2种方法
PHP简单实现防止SQL注入的方法,结合实例形式分析了PHP防止SQL注入的常用操作技巧与注意事项,PHP源码备有详尽注释便于理解,需要的朋友可以参考下! 方法一:execute代入参数 $var_V ...
- 什么是RESTful API?
要弄清楚什么是RESTful API,首先要弄清楚什么是REST.REST -- REpresentational State Transfer,英语的直译就是"表现层状态转移". ...
- python练习题_04
import os def fetch(data): # print('\033[1;43m这是查询功能\033[0m') # print('\033[1;43m用户数据是\033[0m',data) ...