当前位置: 首页 > article >正文

Linux-Samba

文章目录

    • Samba配置
      • 服务配置

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Linux专栏:点击!

⏰️创作时间:2024年11月18日13点20分

在这里插入图片描述

Samba配置

  • Samba是一个能让 Linux 系统应用与 Microsoft 网络通讯协议的软件,SMB服务器消息块
  • 最大的功能就是可以用于 Linux 与 Windows 系统直接的文件共享和打印共享,既可以用于 Windows 与 Linux 之间的文件共享也可以用于 Linux 与 Linux 之间的文件共享
  • samba在windows下使用的是 NetBIOS协议,要使用 Linux 下共享出来的文件,确认 Windows 系统安装了 NetBIOS 协议

**三个套件:**samba、samba-common、samaba-client

  • samba:套件包括了SAMBA的主要 daemon 配置(smdb及nmbd)、SAMBA的文件档、以及其他 SAMBA 相关的 logrotate设定文件及开机预设选项配置等
    nmbd用力管理netbios-name、以及工作群组的解析,用到的协议是UDP:137、138端口
    使用TCP传输资料,TCP139、445
    netbios-name来进行查询服务器,同一个群里中必须是独一无二的
  • samba-common:这个套件则主要提供了samba的主要配置 smb.conf、smb.conf 语法校验的测试程序等
  • samba-client:这个套件则提供了当 Linux 做为 samba Client端时,所需要的工具指令
    例如:挂载 samba 配置格式的执行档 smbmount

配置文件

  • samba配置文件存放于 /etc/samba,几个主要的配置文件 smb.conf、imhost、smbpasswd
  • smb.conf:这个 samba 最主要配置文件,唯一的一个配置文件,分为两部分
    global:设定主机功能的项目
    sharedir:每个分享出去的目录的属性设定
  • lmhosts:该配置主要目的在对应 NetBIOS name 与该主机名称的IP
  • smbpasswd:是samba存放使用密码对应表文件
#smb.conf配置文件详解
[global]    #设置samba服务器的整体环境
	workgroup = MYGROUP    #指定工作组名称
	server string = Samaba Server Version    #指定主机解释说明
	netbios name = MYSERVER    #指定samba默认主机名
	hosts allow	= 127. 192.168.1. 192.168.2.    #允许访问Samba服务器IP地址范围,默认允许所有可以访问
	security = user    #设置安全等级,user模式需要用户验证,share模式无需验证
[homes]
	valid users =    #指定允许访问用户
	invalid users =   #指定不允许访问用户
	write list =    #指定写入用户
	read list =    #设置只读用户
	public list =    #是否可以匿名访问

samba常用命令

sambpasswd:设置samba用户密码。常用参数-a,增加smb用户与配置密码
smbclient:查看计算机分享出来的目录与装置。常用参数 “-L” 后面按需要查看的主机IP,-U 后面接登录的用户名
smbmount:将远程主机分享的目录挂载到 Linux 主机上,与 mount 功能类似
testparm:用于测试 samba 的设置是否正确,测试文件 smb.conf,测试无误表示 samba 服务能正常加载该配置

服务配置

dnf install -y samba samba-common samba-client    #安装软件
systemctl enable smb    #添加道开机启动
systemctl start smb    #启动smb服务
systemctl status smb    #查看状态

netstat -lantp | grep 139    #查看端口监听状态
netstat -lantp | grep 445    #查看端口监听状态

smbclient -L localhost    #查看服务器的共享状态,需要输入 root 用户名和密码
Uos2338341384
mkdir /var/share /var/smb    #创建共享目录和smb目录
chmod 777 /var/share /var/smb    #更改权限
chown smb:smb /var/smb    #更改smb的属主为 smb
useradd smb -M -s /sbin/nologin    #不创建家目录和无shell登录权限
smbpasswd -a smb    #设置smb用户通过 samba 服务器登录,并设置密码
admin@123
admin@123
  • # vi /etc/samba/smb.conf
    # [global] 配置使用户可以通过匿名访问,添加字段:map to guest = Bad User
    
    #新建 [share] 访问目录,设置其权限
      [share]
              comment = share
              path = /var/share
              guest ok = yes
              browseable = yes
              writeable = yes
    
    #新建 [smb] 访问目录,设置其权限
      [smb]
              comment = smb
              path = /var/smb
              write list = smb
              broweable = yes
              writeable = yes
              read list = smb
              valid users = smb
              create mask = 0777
    
    systemctl restart smb
    systemctl status smb
    
    smbclient -L localhost    #查看服务器的共享状态,需要输入 root 用户名和密码
    Uos2338341384
    

测试 samba 服务器

  • 通过磁盘界面 \\ samba IP \ share 访问目录,无需登陆认证,并且可以创建和删除文件
  • 通过 \\ samba IP \ smb 访问目录,需要提供 smb 用户认证信息后,才能打开文件,并且可以成功在目录 smb 中创建文件夹或文件

运维

  • 设置定时任务每天备份数据,使用shell脚本与定时周期任务 crontab 设置对 share 目录的数据归档备份到 smb 目录

  • 创建数据备份脚本 /root/backup.sh

    #!/bin/bash
    mkdir /var/backup    #创建临时备份目录
    cp -r /var/share/ /var/backup    #将共享文件夹数据复制到备份目录
    tar -zcPvf /var/smb/backup$(date +%Y%m%d).tar.gz /var/backup    #打包共享目录数据到 /var/backup
    rm -rf /var/backup/    #删除临时备份目录
    find /var/smb -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;    #删除30天以上的备份数据
    :wq
    
    chmod +x backup.sh    #给脚本设置执行权限
    
    crontab -e    #之后输入执行的周期
    0 22 * * * sh /root/backup.sh    #每天22点00分执行备份脚本一次,备份数据到 smb 目录,保存文件名问当天时间
    
    crontab -l    #查看周期执行的任务
    

日志

  • 欧拉系统日志默认保存 /var/log,ls 命令查看 samba 服务日志文件
  • 查看 /var/log 目录下 samba 目录的日志文件名:ls -l /var/log/samba
  • 显示最后20行日志记录:tail /var/log/samba/log.smbd -n 20
  • 查看欧拉系统日志最后20行:tail /var/log/messages

故障及解决方案

  • 防火墙问题
  • 重启samba服务
  • 检查配置错误字段 cd /etc/samba;testparm
  • 文件所属组错误:chown smb:smb /var/smb
  • 文件权限错误:chmod 777 /var/smb

http://www.kler.cn/a/401535.html

相关文章:

  • More Effective C++ Item 7:区别使用()和{}创建对象
  • MongoDB聚合操作
  • Springboot3.3.5 启动流程之 tomcat启动流程介绍
  • 信息与决策支持系统(Information and Decision Support Systems,IDSS)
  • STM32 使用 STM32CubeMX HAL库实现低功耗模式
  • 探索 HTML 和 CSS 实现的 3D旋转相册
  • Axios交互
  • 疫情下的图书馆管理系统开发:Spring Boot
  • MATLAB调用Python自定义函数,极度方便好用
  • Bokeh实现大规模数据可视化的最佳实践
  • 单片机的基本组成与工作原理
  • Python自学之Colormaps指南
  • Spring学习笔记_41——@RequestBody
  • UniApp的Vue3版本中H5配置代理的最佳方法
  • 网络协议之FTP
  • Kafka进阶_1.生产消息
  • 从0开始学习Linux教程目录
  • Linux系统性能调优技巧与实践案例
  • Qt的一个基本用户登录界面编写|| 从0搭建QT的信号与槽的应用案例 ||Qt样式表的应用
  • 小车综合玩法--5.画地为牢
  • 机器学习笔记 // 探索整体的预测
  • Spark使用过程中的 15 个常见问题、详细解决方案
  • 15分钟学 Go 第 58 天 :复习与总结
  • 解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“
  • 人工智能时代,如何建设一个大模型呼叫中心?
  • [论文阅读] 异常检测 Deep Learning for Anomaly Detection: A Review (四)三种分类方法对比