首页 > 其他分享 >系统集成09-Samba文件共享服务器管理

系统集成09-Samba文件共享服务器管理

时间:2023-05-06 16:48:16浏览次数:31  
标签:Samba 文件共享 09 目录 var 服务器 smb

系统集成09-Samba文件共享服务器管理

1 Samba文件共享服务器搭建

Samba文件共享服务介绍

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,SMB(Server Message Block)服务器消息块。
Samba最大的功能是可以用于Linux与windows系统直接的文件共享和打印共享,既可以用于Windows与linux之间的文件共享也可以用于linux与linux之间的文件共享。
基于客户机/服务器的协议,因而一台Samba服务器既可以充当:

  • 文件共享服务器
  • Samba客户端

Samba在windows下使用的是NetBIOS协议,要使用linux下共享出来的文件,要确认windows系统安装了NetBIOS协议。

Samba文件共享服务套件

安装SAMBA这个服务器总共需要至少三个套件,包括samba、samba-common和samba-client

  • samba:这个套件主要包含了SAMBA的主要daemon配置(smbd 及 nmbd)、SAMBA的文件档(document)、以及其它与SAMBA相关的logrotate设定文件及开机预设选项配置等;
  • samba-common:这个套件则主要提供了SAMBA的主要配置(smb.conf)、smb.conf语法检验的测试程序(testparm)等;
  • samba-client:这个套件则提供了当Linux做为SAMBAClient端时,所需要的工具指令,例如挂载SAMBA配置格式的执行档smbmount等。

Samba文件共享服务配置文件

Samba配置文件目录存放于/etc/samba,几个主要的配置文件有smb.conf、Imhost和smbpasswd

  1. smb.conf:这个是SAMBA最主要的配置文件。在较为简单的设定当中,这也是唯一的一个配置文件。该配置文件主要的设定分为两部份,分别为
    • [global]这个设定主机功能的项目
    • [sharedir]每个分享出去的目录的属性设定
  2. lmhosts:该配置的主要目的在对应NetBIOS name与该主机名称的IP。由于目前SAMBA的功能越来越强大,所以通常只要一启动SAMBA时,它就能自己获取LAN里面的相关计算机的NetBIOS name对应IP的信息,因此该配置通常可以不用设定
  3. smbpasswd:是SAMBA存放使用者密码对应表文件。当设定的SAMBA服务器需要使用者输入账号与密码后才能登入的状态时,使用者的密码存放于该文件

smb.conf配置文件详解

image-20230506161843953

Samba文件共享服务常用命令

Samba服务器常用命令包括如下:

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

管理Samba服务、端口、开机启动项

Samba服务安装后,设置Samba服务为开机启动,并启动Samba服务,然后查看其监听端口状态

  1. 设置Samba为开机启动:

    systemctl enable smb
    
  2. 启动Samba服务:

    systemctl start smb
    
  3. 查看Samba服务运行状态:

    systemctl status smb
    
  4. 查看端口监听状态:

    netstat -lantp | grep 139
    netstat –lantp | grep 445
    

2 Samba文件共享服务器用户和权限设置

根据要求添加用户

  1. 创建openEuler用户smb,不创建用户home目录和无shell登录权限

    useradd smb –M–s /sbin/nologin
    
  2. 设置smb用户通过Samba服务器登录,并设置密码

    smbpasswd –a smb
    

准备共享文件与设置文件访问权限

  1. 创建共享目录share和smb

    mkdir /var/share/var/smb
    
  2. 更改共享目录share和smb的权限为所有人有所有权限:

    chmod 777 /var/share/var/smb
    
  3. 更改共享目录的smb的属主为smb

    chown smb:smb/var/smb
    

配置Samba共享配置

编辑Samba配置文件smb.conf,客户端可用通过匿名访问share目录,访问smb目录需要通过用户认证才能访问,两个文件都用读写权限

  • 编辑[global]配置使用户可以通过匿名访问,添加字段:

    map to guest=Bad User
    
  • 新建[share]访问目录,设置其权限

    [share]
    	comment = share
    	path = /var/share
    	guest ok = yes
    	browseable = yes
    	writeable = yes
    
    [smb]
    	comment = smb
    	path = /var/smb
    	write list = smb
    	broweable = yes
    	writable = yes
    	read list = smb
    	valid users = smb
    	create mask = 0777
    

测试Samba服务器可成功访问

在window系统通过文件共享的方式访问Samba服务器,连接共享文件服务器后可以成功创建文件

  • •通过\SambaIP\share访问目录,无需登录认证,并且可以创建和删除文件夹或文件。

  • 通过\SambaIP\smb访问目录,需要提供smb用户认证信息后,才能打开文件,并且可以成功在目录smb中创建文件夹或文件

3 Samba服务器运维与故障排除

使用定时任务管理文件

Samba文件共享服务器的共享数据,可以用过设置定时任务每天备份数据。使用Shell脚本与定时周期任务crontab设置对share目录的数据归档备份到smb目录

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

#!/bin/sh
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天以上的备份数据

为脚本设置可以执行权限:

chmod +x backup.sh

设置周期执行任务,使用crontab命名编辑周期执行任务,执行计划为每天22点0执行备份脚本backup.sh一次,备份数据到smb目录,并保存文件名为当天时间

crontab –e 
0 22 * * * /root/backup.sh

完成后,查看备份任务:crontab –l

标签:Samba,文件共享,09,目录,var,服务器,smb
From: https://www.cnblogs.com/konjac-wjh/p/17377859.html

相关文章

  • ICT实战系统集成-LAB9-Samba文件共享服务器管理
    ICT实战系统集成-LAB9-Samba文件共享服务器管理实验步骤1安装samba服务端安装samba、samba-common、samba-clientyuminstallsambasamba-commonsamba-client启动samba:ststemctlstartsmb.service查看samba状态2添加系统组share,添加系统账号xiaoming、hanmeimei......
  • ASEMI代理ADI亚德诺LTC3309AEV#TRMPBF车规级芯片
    编辑-ZLTC3309AEV#TRMPBF特点:与LTC3307(3A)和LTC3308(4A)引脚兼容高效率:8mΩNMOS、31mΩPMOS可编程频率1MHz至3MHz微型电感器和电容器峰值电流模式控制22ns最短接通时间宽带宽,快速瞬态响应SilentSwitcher®架构超低EMI辐射低纹波突发模式®以40µA的IQ......
  • CF1093E
    首先将将\(b_i\)的定义改为\(b_i\)在\(a\)中出现的位置\(pos\),那么询问操作就是询问\(b_{[l_b,r_b]}\)中有几个数的值在\([l_a,r_a]\)中。因为时间有\(\texttt{6.00S}\)且\(n,m\le2\times10^5\),所以考虑分块。根据套路,进行块内排序,对于询问操作,散块直接暴力统......
  • AcWing 1209. 带分数
    1-暴力解法思考1:暴力列举出1~9的全排列,之后再将这些数字按照一定规则相加,最后将结果与n比较。全排列好写,但相加的规则不好写,而且太暴力了,估计会超时。/*AcWing1209.带分数00.最暴力的写法1.枚举全排列2.枚举位数(枚举a和b,可算出c)3.直接算出n,判断等......
  • P4093[HEOI2016/TJOI2016]序列
    P4093[HEOI2016/TJOI2016]序列目录P4093[HEOI2016/TJOI2016]序列题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示题目大意思路code题目描述佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。玩具上有一个数列,数列中某些项的值可能会变化,但同一个......
  • 209. 长度最小的子数组
     分析:这题是找满足和大于等于target的最短数组有点小问题,想用双指针做,但是写得有点糅杂了最后一组案例时间超了最后借鉴了一下题解写出来代码:1classSolution(object):2defminSubArrayLen(self,target,nums):3"""4:typetarget:int......
  • LeetCode 209. 长度最小的子数组
    题目链接:LeetCode209.长度最小的子数组本题是一个滑动窗口的题,所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。在本题中实现滑动窗口,主要确定如下三点:窗口内是什么?窗口就是满足其和≥target的长度最小的连续子数组。如何移动窗口的起......
  • 【动态规划】No 309. 最佳买卖股票时机含冷冻期
    【动态规划】309.最佳买卖股票时机含冷冻期给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。注意:......
  • 基于 CentOS Linux release 7.9.2009 的软件开发学习
    了解Linux系统:作为新手程序员,首先要熟悉Linux系统,学习基本的命令行操作,如文件和目录操作、进程管理和权限控制等。选择编程语言:根据你的兴趣和项目需求,选择一种编程语言进行学习。常用的编程语言包括Python、Java、C++、Ruby和PHP等。安装开发工具:为了进行软件开发,你需......
  • day09-达人探店
    功能04-达人探店5.功能04-达人探店5.1发布&查看探店笔记5.1.1发布探店笔记探店笔记类似点评网站的评价,往往是图文结合。对应的表有两个:tb_blog:探店笔记表,包含笔记中的标题、文字、图片等tb_blog_comments:其他用户对探店笔记的评价/*表:tb_blog*/CREATETABLE`tb_blog`......