• 九.配置SMB共享(Samba共享)


    • 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权限!

  • 相关阅读:
    Opencv中cvCopy()和cvCloneImage()的区别(转)
    什么是DC?
    UpdateDate()函数的作用
    宏定义函数指针类型【转】
    将openCV中的IplImage格式的图片显示到Picture控件上
    C程序调用shell脚本共有三种方法
    memset ,memcpy ,memmove,strcpy 的根本区别 与实现
    sizeof strlen length()
    itoa 实现
    string 与 char * 转换
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10482007.html
Copyright © 2020-2023  润新知