Linux中的samba服务

1. samba服务简介

  • 作用:windows系统共享文件时用到的协议smb
  • smb是由Miscrosoft+Sun联合开发
  • Linux cifs

2.samba基本信息

  • 服务启动脚本:smb.service
  • 主配置目录:/etc/samba
  • 主配置文件:/etc/samba.conf
  • 安全上下文:samba_share_t
  • 端口:139 445
  • 安装包:samba
  • samba-common
    在这里插入图片描述

3.samba的安装与启用

  • samba的安装:dnf install samba samba-common samba-client -y
  • samba服务启动:systemctl enable --now smb
  • firewall-cmd --permanent --add-service=samba在火墙中开启smb服务
  • firewall-cmd --reload
    测试:
  • smbclient -L //192.168.1.30 当要输入root密码时请直接回车,如下图表示启动成功
    在这里插入图片描述

4.samba用户的建立

  1. samba用户必须是本地存在的用户(若本地不存在此用户,应先建立用户)
  2. samba用户的建立
  • smbpasswd -a myr 添加用户
  • pdbedit -L 查看用户列表
  • pdbedit -x myr 删除用户

5.samba用户访问加目录

  • 当selinux开启时:
  • setsebool -P samba_enable_home_dirs on
    在这里插入图片描述
  • windows下:
  • \\192.168.1.30 访问若还是无法访问的话,在linux下 setenforce 0
  • net use 查看访问记录
  • net use * /del 删除访问记录
    在这里插入图片描述
  • 在linux下:
  • smbclient //192.168.1.30/westos -U westos
    在这里插入图片描述

6.samba服务共享目录

  • mkdir /westosdir
  • touch /westosdir/westosfile{1..5}
  • semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'更改安全上下文
  • restorecon -RvvF /westosdir/
    在这里插入图片描述
  • vim /etc/samba/smb.conf
[westosdir] ##共享名称
comment = westosdir ##共享说明,可以自己写
path = /westosdir ##共享路径,绝对路径

在这里插入图片描述

  • systemctl restart smb
    测试:
  • smbclient //192.168.1.30/westosdir -U westos
    在这里插入图片描述
  • 若是想只让某些主机可以访问,可以在主配置文件中设置vim /etc/samba/smb.conf
[westosdir] ##共享名称
comment = westosdir ##共享说明,可以自己写
path = /westosdir ##共享路径,绝对路径
hosts allow =192.168.1.15 ##允许访问的主机

在这里插入图片描述

  • 测试:
  • 在192.168.1.15中可以成功访问
  • 在192.168.1.20中不能访问
    在这里插入图片描述

7.samba的访问控制

  • hosts allow 192.168.1.15 当写到单独共享时之对此共享生效(例如第六点的最后一条)
  • hosts deny 当写到【GLOBAL】时对samba整体生效
    在这里插入图片描述

8.samba的常用配置参数

  • 在主配置文件中编辑:
writable = yes ##可写
write list = westos ##指定用户可写
write list = +westos ##指定组可写
write list = @westos @和+作用相同
valid users = myr ##指定访问用户
valid users = +myr|@myr ##指定访问组
browseable = yes|no ##是否隐藏共享
map to guest = bad user ##写到全局设定中
guest ok = yes ##允许匿名用户访问
admin users = myr ##指定此共享的超级用户身份呢

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.samba的多用户挂载

  • 在客户端如果用普通的挂载方式,没有用过用户验证的人也可以访问samba服务
  • vim /root/smbpass
username=westos
password=westos(自己本地用户的密码)
  • mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.1.30/westosdir /mnt
  • credentials=/root/smbpass 指定认证文件
  • sec=ntlmssp 指定认证类型
  • multiuser 支持多用户
  • su - westos切换用户到westos用户
  • ls /mnt 发现客户端主机的wetos用户没有通过认证
    在这里插入图片描述
  • cifscreds add -u myr 192.168.1.30
  • 这里的myr用户一定是服务端的samba用户之一,获取myr用户的认证
    在这里插入图片描述
  • ls /mnt/ 此时通过认证可以显示
    在这里插入图片描述
  • cifscreds add -u myr 192.168.1.30执行此条时有可能会报错
  • Key search failed: Key has expired
  • cifscreds add -u lee -d 192.168.1.30
  • cifscreds clearall 执行以上两条命令解决报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值