• Samba 软件项目
– 用途:为客户机提供共享使用的文件夹
– 协议:SMB(TCP 139)、CIFS(TCP 445) 
• 所需软件包:samba
• 系统服务:smb
 
管理共享账号
• Samba用户 —— 专用来访问共享文件夹的用户
– 采用独立设置的密码
– 但需要提前建立同名的系统用户(可以不设密码)
 
useradd -s /sbin/nologin  dc  访问共享文件夹密码  123456
 
– 必须建立系统用户,登陆系统的密码可以设置,也可以不设置
– 必须建立系统用户, 可以不用登陆系统    
 
• 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名
 
• 修改 /etc/samba/smb.conf
[自定共享名]
path = 文件夹绝对路径
; public = no|yes //默认no
; browseable = yes|no //默认yes
; read only = yes|no //默认yes
; write list = 用户1 .. .. //默认无
; valid users = 用户1 .. .. //默认任何用户
; hosts allow = 客户机地址 .. ..
; hosts deny = 客户机地址 .. ..
服务器:server0  172.25.0.11
客户端:desktop0 172.25.0.10
 
###############################
 
1>.搭建只读smb
虚拟机Server0:
1.安装软件(服务端软件:提供服务)
]# yum -y install samba
2.建立Samba共享帐号 
]# useradd -s /sbin/nologin harry
]# useradd -s /sbin/nologin kenji
]# useradd -s /sbin/nologin chihiro
 
]# pdbedit -a harry    #将harry添加为samba共享帐号 
]# pdbedit -a kenji    #将kenji添加为samba共享帐号
]# pdbedit -a chihiro  #将chihiro添加为samba共享帐号
    设置密码:123456
 
]# pdbedit -L  #查看所有Samba共享帐号
 
3.修改配置文件进行配置
3.1 创建共享目录
]# mkdir /common
]# echo 123 > /common/1.txt
3.2 修改配置文件/etc/samba/smb.conf
]# vim /etc/samba/smb.conf
此服务器必须是 STAFF 工作组的一个成员
  workgroup = STAFF  #指定工作组
...
[common]          #共享名
path = /common    #共享的实际路径
4.重起smb服务
]# systemctl restart smb
]# systemctl enable smb
5.SELinux策略设置(布尔值策略:功能的开关)
   需要加 -P 选项才能实现永久设置,消耗内存
]# getsebool -a | grep samba         #查看布尔值
]# setsebool samba_export_all_ro on  #修改布尔值,开启
]# getsebool -a | grep samba
 
虚拟机desktop0
1.安装软件samba-client(客户端软件:访问服务端服务)
]# yum -y install samba-client
2.列出共享资源
  smbclient -L 服务器地址                          
]# smbclient -L 172.25.0.11
Enter root's password:      #直接回车
Anonymous login successful
3.访问服务端共享
]# smbclient  -U  harry  //172.25.0.11/common
 Enter harry's password:     #输入harry共享密码
 Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
 smb: \> ls
 smb: \> help
 smb: \> allinfo 1.txt
 
######################
 
2>.采用挂载实现访问Samba共享,更加科学方便的
在上面搭建成功的基础上:
 
虚拟机Desktop0
1.安装软件包,支持cifs文件系统
]# yum -y install cifs-utils
2.创建挂载点目录,挂载实现
]# mkdir /mnt/nsd
]# df -h
]# ls /mnt/nsd
3.开机自动挂载配置文件 /etc/fstab
  _netdev : 声明网络设备
  在启动网络服务之后,再进行挂载本设备
]# vim /etc/fstab
//172.25.0.11/common /mnt/nsd cifs defaults,user=harry,pass=123456,_netdev 0 0
]# mount -a
]# df -h
4.权限测试
]# cd /mnt/nsd/
]# ll 1.txt
-rw-r--r--. 1 root root 4 1月  27 17:04 1.txt
测试对文件1.txt和文件夹/mnt/nsd/没有w权限(不能写入和创建文件夹)
#################
 
3>.读写Samba共享
虚拟机server0
1.创建共享目录
]# mkdir /devops
]# echo abc > /devops/a.txt
2.修改配置文件/etc/samba/smb.conf
新加:
[devops]
path = /devops
write list = chihiro
3.重起smb服务
]# systemctl restart smb
4.修改SELinux布尔值
]# getsebool -a | grep samba
]# setsebool samba_export_all_rw on
5.本地目录权限的修改
]# setfacl -m u:chihiro:rwx /devops/
]# getfacl /devops/
 
虚拟机desktop0:
1.挂载访问
]# vim /etc/fstab 
//172.25.0.11/devops /mnt/dev cifs defaults,user=chihiro,pass=123456,_netdev 0 0
]# mkdir /mnt/dev
]# mount -a
]# df -h
2.权限测试 desktop0 (注意查看属主、属组)
]# cd mnt/dev/
]# echo "aaa" > b.txt
]# ll
总用量 2048
-rw-r--r--. 1 root root  4 1月  27 17:39 a.txt
-rw-r--r--. 1 1003 1003 56 1月  27 17:46 b.txt
对a.txt没有w权限!
server0:(注意查看属主、属组)
]# cd /devops/
]# ll
总用量 8
-rw-r--r--. 1 root    root     4 1月  27 17:39 a.txt
-rw-r--r--. 1 chihiro chihiro 56 1月  27 17:46 b.txt
server0对文件、文件夹有w权限!
 
#######################
 
4>.multiuser机制,针对客户端所有普通用户设计
在客户端访问samba共享时,如果需要切换身份,multiuser机制可以让客户端在无需重新挂载的前提下,直接切换临时身份。
挂载参数调整                                   
• mount.cifs 的挂载参数
– multiuser,提供对客户端多个用户身份的区分支持
– sec=ntlmssp,提供NT局域网管理安全支持
虚拟机desktop0:
]# vim /etc/fstab 
//172.25.0.11/devops /mnt/dev cifs defaults,user=kenji,pass=123456,_netdev,multiuser,sec=ntlmssp 0 0
]# mount -a
切换student用户,以chihiro身份访问服务端挂载的smb
]# su - student
]$ cifscreds add -u chihiro 172.25.0.11
Password:(chihiro的密码)
权限检测:对所有挂载smb目录只有r权限!

九.配置SMB共享(Samba共享)的更多相关文章

  1. 工程师技术(四):配置SMB文件夹共享、多用户Samba挂载、普通NFS共享的实现、安全NFS共享的实现

    一.配置SMB文件夹共享 目标: 本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 1> 此服务器必须是 STAFF 工作组的一个成员   2> 发布目录 /comm ...

  2. 【转】Ubuntu下配置支持Windows访问的samba共享

    原文网址:http://blog.csdn.net/i_chips/article/details/19191957 一.安装Ubuntu samba服务器 $ sudo apt-get instal ...

  3. 在CentOS上配置SAMBA共享目录(转载)

    在CentOS上配置SAMBA共享目录 From: https://blog.csdn.net/qiumei1101381170/article/details/53265341 2016年11月21 ...

  4. Ubuntu16下配置支持Windows访问的samba共享

    一.安装Ubuntu samba服务器 $ sudo apt-get install samba $ sudo apt-get install smbclient # Linux客户端测试用 二.创建 ...

  5. Ubuntu下配置支持Windows访问的Samba共享

    一.安装Ubuntu samba服务器 $ sudo apt-get install samba $ sudo apt-get install smbclient # Linux客户端测试用 二.创建 ...

  6. Linux安装配置Samba共享文件系统

    Samba共享文件系统搭建与配置: 1.Samba服务端:yum install samba samba-client cifs-utilscd /etc/samba/cp smb.conf smb. ...

  7. 配置samba共享,实现/www目录共享

    一.samba服务器 1.安装samba包 # yum -y install samba 2.创建用户组 # groupadd -r admins # useradd -s /sbin/nologin ...

  8. Centos下samba共享打印机

    先说需求,公司有一台型号为HP LaserJet m1120 mfp的打印机,由于不是网络打印机使用起来十分不便,公司老大要求将这台打印机连在公司的内网linux服务器上(CentOS),然后配置sa ...

  9. samba共享修改匿名用户为非nobody

    samba共享修改匿名用户为非nobody 1)linux的samba用户,如果开启匿名用户登陆共享权限,security 设置为 share ,配置如下:[root@centos69:~]$grep ...

随机推荐

  1. 关于python的一次性能调优过程

    问题 这两天在公司帮老大写一个程序功能,要求抓取从elasticsearch和kibana服务器上返回的数据,统计所有hits的数据字段ret_code为0的hit,并计算其占有率等一些功能. 功能倒 ...

  2. PAT甲级题分类汇编——图

    本文为PAT甲级分类汇编系列文章. 图,就是层序遍历和Dijkstra这一套,#include<queue> 是必须的. 题号 标题 分数 大意 时间 1072 Gas Station 3 ...

  3. Linux中request_irq()中断申请与处理说明

    1.  中断的理解 中断你可以理解为就是一种电信号,是由硬件设备产生的然后发送给处理器,处理器接收到中断后,就会马上向操作系统反映此信号,之后就是系统的工作了. 这里有两个注意的地方,第一中断是随时都 ...

  4. GXOI/GZOI2019部分题解

    D1T1:与或和 对每位处理,问题变成所有内部不包含0/1的矩阵的个数,单调栈维护即可. #include<cstdio> #include<algorithm> #inclu ...

  5. .net core 杂记:用Autofac替换内置容器

    官方建议使用内置容器,但有些功能并不支持,如下: 属性注入 基于名称的注入 子容器 自定义生存期管理 Func<T> 支持 所以可以使用其他第三方IOC容器,如Autofac,下面为学习使 ...

  6. GoAccess 视图化access.log 日志

    1.安装GoAccess 工具可以直接使用 apt-get install goaccess 2.使用goaccess命令将日志生成html文件 goaccess 日志路径 -o 输出HTML的路径 ...

  7. JS 客户端(浏览器)存储数据之 localStorage、sessionStorage和indexDB

    基本概念 1.localStorage和sessionStorage是HTML5 Web存储的提供的两种存储方式,在IE7以上以及大多数浏览器都是支持的 2.localStorage和sessionS ...

  8. RZ70注册SLD

    本文的将S4 abap系统向PO JAVA系统中注册. S4 QASERPAP01 NR=60 ASCS=61 PO QASPISAP01 NR=60 SCS=61 http://qaspisap01 ...

  9. Python:GeoJson格式的多边形裁剪Tiff影像并计算栅格数值

    JSON是通过键值对表示数据对象的一种格式,其全称为JavaScript Object Notation,它采用完全独立于编程语言的文本格式来存储和表示数据,轻量级.简洁清晰的层次结构.容易解析等特点 ...

  10. Vue使用ref 属性来获取DOM

    注意,在父组件中可以使用this.$refs.属性名  获取任何元素的属性和方法,子组件不可以获取父组件中的 <!DOCTYPE html> <html lang="en& ...