samba文件共享服务(代码片段)

author author     2022-11-21     359

关键词:

一、了解samba服务;
1.概念:实现windows和linux系统之间实现smb协议的一款开源软件,是c/s结构。
2.SMB(服务消息块协议):是一种在局域网上共享文件和打印机的通信协议,提供不同系统之间共享文件或打印机。
3.NetBios(网络基本输入输出系统协议):负责数据传输过程中的主机解析。
4.CIFS(通用网络文件系统):CIFS 是针对 Microsoft Windows 操作系统的本地网络文件系统。 Linux 系统可以挂载和访 问CIFS 文件共享 , 如同常见的网络文件系统一样。
5.samba的作用:共享文件和打印机,支持将linux加入到windows的AD中;实现linux和windows之间的访问。
6.实现原理:Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限 设置。在早期,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用协议的137、138及TCP协议的139端口, 后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。
客户端---------(1)---------> 服务端---------(2)---------->smb.conf主配置文件
客户端-------- (4)----------> 服务端----------(3)---------->日志文件
二、samba软件包的组成:
1.samba软件组成:samba-common(公共组件)、samba-client(客户端)、samba(主程序)、samba-winbind(允许unix 系统利用windowsAD的用户信息);
2.samba服务的程序组件:
smb:提供共享访问,管理文件传输,端口tcp139号(smb协议)、tcp445号(cifs协议)
nmb:负责NetBIOS协议(负责跨平台实现共享)解析,端口udp137、138号
三、理解samba的主配置文件:/etc/samba/smb.conf
1.主配置文件的格式:#表示注释、;表示配置的样例、[global]全局设置、[homes]家目录共享设置、[printers]打印机共享设 置;
四、搭建匿名和认证的共享
a.配置网络:如ip、网关、主机名、关闭selinux、关闭iptables;
b.安装samba:推荐使用yum安装;
c.修改配置文件:smb.conf主配置文件,根据需求进行修改;smbusers共享账号的别名文件;一个smb用户可以映射到多 个名称;
d.管理samba用户:
pdbedit -a -u 用户 ##添加系统用户到smb用户
pdbedit -x -u 用户 ##删除系统用户在smb用户中
pdbedit -L ##查看smb用户
e.启动服务:
/etc/init.d/smb start ##启动共享
/etc/init.d/nmb start ##启动netBOIS服务
f.访问测试:
五、samba服务的访问:
1.smbclient:
yum -y install samba-client ##安装软件包
smbclient -L ip地址 -U 用户 ##列出共享
smbclient -U 用户 //ip地址/共享名 ##访问匿名共享时,不需要指定-U
2.mount:
yum -y install cifs-utiles ##安装cifs工具
mount -o username=用户名 //ip/共享名 挂载点 ##访问认证共享
mount -o username=* //ip/共享名 挂载点 ##访问匿名共享
3.windows客户端共享的原理:
net share ##管理本地共享
net use ##管理共享映射
net use 共享路径 /delete ##删除共享缓存
inetcpl.cpl ##打开inet选项,删除访问记录

配置文件方以及
smb共享实现linux和windows间共享:

匿名共享:
1.设置网络参数和基础环境:
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:68:b1:0f
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.150
NETMASK=255.255.255.0
GATEWAY=192.168.100.100
DNS1=192.168.100.100
:wq

[[email protected] ~]# vi /etc/sysconfig/network
HOSTNAME=smb.linuxfan.cn
:wq
[[email protected] ~]# vi /etc/selinux/config
SELINUX=disabled
:wq

[[email protected] ~]# chkconfig iptables off ##设置防火墙开机不启动
[[email protected] ~]# reboot ##重启主机

2.安装samba软件:
[[email protected] ~]# mount /dev/cdrom /mnt ##挂载光盘到/mnt这个目录下
[[email protected] ~]# rm -rf /etc/yum.repos.d/*
[[email protected] ~]# vi /etc/yum.repos.d/centos.repo ##编辑yum配置文件
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
[[email protected] ~]# yum -y install samba ##安装samba软件包

3.修改/etc/samba/smb.conf定制功能:
[[email protected] ~]# vi /etc/samba/smb.conf ##删除注释:%g /^#/d 删除空行:%g/^$/d 删除样例行:%g /^;/d 删除多余空行;修改如下:
[global]

    workgroup = MYGROUP
    ##指定服务器所在的工作组
    server string = Samba Server Version %v
    ##服务器的描述
    log file = /var/log/samba/log.%m
    ##日志文件
    max log size = 50
    ##最大日志大小
    security = share
    ##设置共享类型
    passdb backend = tdbsam
    ##服务用户后台类型
    load printers = yes
    ##是否共享打印机
    cups options = raw
    ##设置共享打印机类型

[public]
comment = Public Stuff
##描述
path = /opt/share
##设置共享的路径
public = yes
##设置是否公开共享
writable = yes
##设置是否可写,即上传文件
printable = no
##共享打印机设置
:wq
[[email protected] ~]# mkdir /opt/share
[[email protected] ~]# touch /opt/share/a.file
[[email protected] ~]# chmod 777 /opt/share
[[email protected] ~]# testparm ##测试配置是否有误

4.启动服务:
[[email protected] ~]# /etc/init.d/smb start
[[email protected] ~]# /etc/init.d/nmb start
[[email protected] ~]# chkconfig smb on
[[email protected] ~]# netstat -utpln |grep mb ##TCP:139,445/UDP:137,138查看端口

5.客户端测试:
windows:
\192.168.100.150\public
linux:
第一种方式:
挂载光盘,配置yum源;
yum -y install cifs*
mount -o cifs //192.168.100.150/public /benet/ ##匿名共享提示输入密码直接回车
ls /benet ##验证
第二种方式:
挂载光盘,配置yum源;
yum -y install samba-client
smbclient //192.168.100.150/public ##登陆
smb: \> ##ls查看,get 文件名 下载 ,put 文件名 上传 ,quit退出

用户认证的共享:注意匿名和认证选一个
1.创建用户:
useradd u01
useradd u02
pdbedit -a u01 ##将系统用户添加为smb用户
pdbedit -a u02
pdbedit -L ##查看smb用户
2.修改配置文件:
[[email protected] ~]# vi /etc/samba/smb.conf
[global]

    workgroup = MYGROUP
    server string = Samba Server Version %v
    log file = /var/log/samba/log.%m
    max log size = 50
    security = user    ##用户认证的共享,将share改为user
    passdb backend = tdbsam
    load printers = yes
    cups options = raw

[public]
comment = Public Stuff
path = /opt/share
public = no ##共享非公开
writable = no ##默认不可以写
valid users = u01, u02 ##允许访问的用户
write list = u01 ##有写入权限的用户
:wq
testparm ##测试配置是否有误
/etc/init.d/smb restart ##重启服务
netstat -utpln |grep mb ##查看端口使用情况
3.测试:
windows主机:
\192.168.100.150
登陆用户名密码测试读取写入权限
cmd中net use 查看保存的链接信息
net use * /del 删除保存的连接信息
再次访问\192.168.100.150测试另外用户

linux:客户机必须配置ip,能够与samba服务器处于同一网络
第一种方式:
mount -o username=u01 //192.168.100.150/public /mnt
cd /mnt
touch b.file
ls
第二种方式:
smbclient -U u02 //192.168.100.150/public

红帽7samba服务实现文件共享(代码片段)

Samba文件共享服务首先需要先通过Yum软件仓库来安装Samba服务程序(Samba服务程序的名字也恰巧是软件包的名字)[[email protected]~]#yuminstallsambaLoadedplugins:langpacks,product-id,subscription-managerThissystemisnotregisteredtoRedHatSubscripti 查看详情

samba文件共享服务(代码片段)

Samba文件共享服务一、简介Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之... 查看详情

使用samba实现文件共享(代码片段)

SMB服务消息块协议,指在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单,Samba服务已经成为了,Linux系统与Windows系统之间数据传输的最佳选择.Samba服务概述Samba是SMB的一种实现方法... 查看详情

samba文件共享服务(代码片段)

试验环境:两台主机服务端:192.168.56.11客户端:192.168.56.12配置用户认证共享服务端操作:1.关闭防火墙,关闭selunix[[email protected]~]#setenforce0[[email protected]~]#systemctlstopfirewalld2.安装软件包[[email protected]~]#yuminsta 查看详情

samba文件共享服务(代码片段)

...s结构。2.SMB(服务消息块协议):是一种在局域网上共享文件和打印机的通信协议,提供不同系统之间共享文件或打印机。3.NetBios(网络基本输入输出系统协议):负责数据传输过程中的主机解析。4.CIFS(通用网络文件系统):... 查看详情

samba文件共享(代码片段)

...MB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器... 查看详情

让我们一起搭建samba服务,共享文件不再痛苦(代码片段)

...用docke搭建samba服务权限配置-u 新增用户user1 user2-s 配置文件夹和访问权限                ​ 启动samba服务访问samba服务维护常用docker命令更改配置文件/etc/samba/sms.conf使用smbpasswd(进入samba终端)其他问题   日... 查看详情

centos7安装samba服务(文件共享)(代码片段)

今天是一个安装samba文件共享服务首先依旧是先把Linux服务器改为静态IPvim/etc/sysconfig/network-scripts/ifcfg-ens33然后挂载系统光盘mount/dev/sr0/mediasamba服务的安装包有11个之多,所以使用yum安装比较容易yum-yinstall/media/Packages/samba-*因为samba... 查看详情

centos之samba共享服务(代码片段)

...MB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算 查看详情

samba文件共享服务(代码片段)

Samba文件共享服务Samba服务能够实现Linux系统与Windows系统之间的文件共享工作。一.通过yum软件仓库安装Samba服务程序yuminstallsamba二.创建用于访问共享资源的账户信息,pdbedit命令用于管理SMB服务程序的账户信息数据库。[root@linuxprob... 查看详情

samba服务(代码片段)

1.samba简介Samba能够实现跨平台的文件共享,并且能够实现在线编辑,1991年实现Windows与unix想通,他具有下面这些功能:1.文件共享和打印,实现在线编辑2.实现登陆samba用户的身份认证3.可以进行netblos名称解析4.外围设备共享2.配... 查看详情

让我们一起搭建samba服务,共享文件不再痛苦(代码片段)

...docker搭建samba服务权限配置-u 新增用户user1 user2-s 配置文件夹和访问权限                ​    日常工作中难免要和别人分享文件,现在“云端产品”的功能也非常丰富,价格也是非常感人的。针对局域网的环... 查看详情

linux笔记:文件共享服务samba基础使用(代码片段)

...安装独立服务器客户端总结目的linux中目前还比较常用的文件共享服务主要就是NFS和Samba,但其实NFS一般也就linux间用用,Samba通常是一个更加好的选择,可以方便的在linux和windows间进行文件共享。(现在还有一种We... 查看详情

搭建samba服务---实现跨平台文件共享(代码片段)

...MB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/ 查看详情

centos7安装配置samba服务(代码片段)

接到运营人员需要共享文件的需求,考虑到简单易用的原则,这里选用Samba来做文件共享服务。先介绍下Samba服务,Samba是SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统中进行文件共享、打印机共享更容易实现... 查看详情

samba服务(代码片段)

...MB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器... 查看详情

samba(代码片段)

samba功能:windows和linux系统之间共享文件。采用smb协议和CIFS文件系统。CIFS:是通用互联网文件系统协议。说明:windows文件共享默认采用的是smb协议。smb是服务器消息块(servermessageblock)的缩写。samba的优点:1、既可以共享文件,... 查看详情

centos使用samba共享文件(代码片段)

在服务器日常维护过程中经常需要传输文件,一般可以用fileZilla工具。但如果文件比较大,例如GB级别的,传输效率就比较慢,此时可以创建共享文件夹。安装环境:centos7首先检查是否已安装samba,如果有安装或有samba组件,最... 查看详情