系统集成09-Samba文件共享服务器管理
系统集成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
- smb.conf:这个是SAMBA最主要的配置文件。在较为简单的设定当中,这也是唯一的一个配置文件。该配置文件主要的设定分为两部份,分别为
- [global]这个设定主机功能的项目
- [sharedir]每个分享出去的目录的属性设定
- lmhosts:该配置的主要目的在对应NetBIOS name与该主机名称的IP。由于目前SAMBA的功能越来越强大,所以通常只要一启动SAMBA时,它就能自己获取LAN里面的相关计算机的NetBIOS name对应IP的信息,因此该配置通常可以不用设定
- smbpasswd:是SAMBA存放使用者密码对应表文件。当设定的SAMBA服务器需要使用者输入账号与密码后才能登入的状态时,使用者的密码存放于该文件
smb.conf配置文件详解
Samba文件共享服务常用命令
Samba服务器常用命令包括如下:
- smbpasswd:设置samba用户及其密码。常用参数“-a”,表示增加smb用户与配置密码。
- smbclient:查看计算机分享出来的目录与装置。常用参数“-L”后面接需要查看的主机IP,“-U”后面接登录的用户名。
- smbmount:将远程主机分享的目录挂载到Linux主机上,与mount功能类似。
- testparm:用于测试Samba的设置是否正确,测试文件为smb.conf,测试无误表示Samba服务能正常加载该配置
管理Samba服务、端口、开机启动项
Samba服务安装后,设置Samba服务为开机启动,并启动Samba服务,然后查看其监听端口状态
-
设置Samba为开机启动:
systemctl enable smb
-
启动Samba服务:
systemctl start smb
-
查看Samba服务运行状态:
systemctl status smb
-
查看端口监听状态:
netstat -lantp | grep 139 netstat –lantp | grep 445
2 Samba文件共享服务器用户和权限设置
根据要求添加用户
-
创建openEuler用户smb,不创建用户home目录和无shell登录权限
useradd smb –M–s /sbin/nologin
-
设置smb用户通过Samba服务器登录,并设置密码
smbpasswd –a smb
准备共享文件与设置文件访问权限
-
创建共享目录share和smb
mkdir /var/share/var/smb
-
更改共享目录share和smb的权限为所有人有所有权限:
chmod 777 /var/share/var/smb
-
更改共享目录的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
本文来自博客园,作者:Qurare,严禁转载至CSDN平台, 其他转载请注明原文链接:https://www.cnblogs.com/konjac-wjh/p/17377859.html