Samba

1、介绍

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件
目的:解决不同操作系统之间进行资源传递的问题

我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印

原理:

Samba 服务功能强大,这与其通信基于SMB 协议有关。SMB 不仅提供目录和打印机共享,还支持 认证、权限设置。在早期哈,SMB 运行于NBT 协议(NetBIOS over TCP/IP)上,使用UDP 协议 的137、138 及TCP 协议的139 端口,后期SMB 经过开发,可以直接运行于TCP/IP 协议上,没有 额外的NBT 层,使用TCP 协议的445 端口。

1、协议协商

2、建立连接

3、访问
4、关闭

端口:139、445

模式:C/S模式

扩展

NETBIOS协议 NetBIOS是Network Basic Input/Output System的简称,网络基本输入/输出系统协议。主要作用:通过NETBIOS协议获得计算机名称,然后把计算机名解析为对应IP地址。

使用场景

文件和打印机共享:文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和 打印机发布到网络之中,以供用户可以访问。
身份验证和权限设置:smbd 服务支持user mode 和domain mode 等身份验证和权限设置模式,
通过加密方式可以保护共享的文件和打印机。
名称解析:Samba 通过nmbd 服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS 名解析为IP 地址。

浏览服务:局域网中,Samba 服务器可以成为本地主浏览服务器(LMB),保存可用资源列表, 当使用客户端访问Windows 网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。

2、安装

安装包

安装包 说明
samba.* 安装包
samba-client.* 客户端安装包

挂载之后安装

[root@qianshuiliyu ~]# yum -y install samba samba-client

启动

[root@qianshuiliyu ~]# systemctl restart smb
[root@qianshuiliyu ~]# systemctl enable smb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
如果重启且不需要断掉服务,可接reload加载配置文件
[root@qianshuiliyu ~]# systemctl reload smb

查看端口

3、配置文件

查看配置文件

[root@qianshuiliyu ~]# ls /etc/samba/smb.conf
/etc/samba/smb.conf

4、客户端的使用

使用Linux客户端或windows都可以
关闭服务端的防火墙
1、linux客户端测试
smbclient -L 服务器ip

[root@qianshuiliyu_client ~]# smbclient -L 192.172.168.100
Enter root's password:
# 没有密码就直接回车
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]Sharename       Type      Comment---------       ----      -------IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]Server               Comment---------            -------Workgroup            Master---------            -------


2、windows进行访问



3、Linux访问
smbclient -L 目标IP 地址或主机名 -U 登录用户名%密码


Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]Sharename       Type      Comment---------       ----      -------IPC$            IPC       IPC Service (Samba Server Version 4.1.1)user1           Disk      Home Directories
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]Server               Comment---------            -------Workgroup            Master---------            -------

4、Linux命令行访问
smbclient //目标IP 地址或主机名/共享目录 -U 用户名%密码

[root@qianshuiliyu_client ~]# smbclient //192.172.168.100/public
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.10-114.el6]
smb: \> help
# 通过help查询命令

5、挂载

mount -t cifs //目标IP 地址或主机名/共享目录名称 挂载点 -o username=用户名%密码
cifs 就是samba所使用的文件系统

二、配置文件

1、参数说明

修改前进行备份,防止意外

[root@qianshuiliyu ~]# vim /etc/samba/smb.conf
[global]
# 全局设置
workgroup = MYGROUP
# 服务器所在的工作组或域名
server string = Samba Server Version %v
# 描述信息
# username map = /etc/samba/smbusers
# 账号映射设置,虚拟账号log file = /var/log/samba/log.%m
# 日志文件security = user
# 安全级别
# passdb backend = tdbsamsmb passwd file  = /etc/samba/smbpasswd
# 指定密码文件[homes]comment = Home Directoriesbrowseable = nowritable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S
# 为特殊共享目录,表示用户主目录,默认共享[printers]comment = All Printerspath = /var/spool/sambabrowseable = noguest ok = nowritable = noprintable = yes
# 打印机机共享设置# 自定义共享
[my gongxiang]comment = 我的共享
# 描述信息browseable = yes
# 是否允许查看此共享内容          path = /samba_server# 共享路径,写绝对路径       public = yes
# 是否允许匿名查看valid users = user1
# 设置访问用户
valid users = group1# 设置访问组
readonly =yes
#只读
readonly = no
# 读写
writable = yes
# 读写
writable = no
# 只读
write list = 用户名
# list既可以组名可也以用户,用逗号分隔,这是写的权限
write list = @组名
browseable = no
# 隐藏共享文件writable yes 所有帐号都允许写入
writable no 所有帐号都禁止写入
write list 写入权限帐号列表 列表中的帐号允许写入hosts allow = 192.172.168.0/24
# 字段定义允许访问的客户端
hosts deny =192.172.168.0/24,192.172.168.1.
# 字段定义禁止访问的客户端,主机后面有个点
# 当hosts deny 和hosts allow 同时出现而且冲突滴时候,hosts allow 生效

允许192.168.0.0 网段的IP 地址可以访问,但是192.168.0.100 及192.168.0.78 的主机禁止访问?就无法生效了我们可以使用EXCEPT 进行设置。
hosts allow = 192.168.0. EXCEPT 192.168.0.100 192.168.0.78 表示允许192.168.0.0 网段IP 地址访问,但是192.168.0.100 和192.168.0.78 除外

2、安全模式

常见模式有两种:share 安全级别模式和user 安全级别模式
samba 服务器有share、user、server、domain 和AD活动目录 五种安全模式。
share、user、server这三项属于:Standalone Server Options 单台服务器选项

(1)share 安全级别模式 客户端登录samba 服务器,不需要输入用户名和密码就可以浏览samba 服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba 服务器的安全性。
(2)user 安全级别模式 客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服 务器默认为此级别模式。
(3)server 安全级别模式 客户端需要将用户名和密码,提交到指定的一台samba 服务器上进行验证,如果验证出现错误, 客户端会用user 级别访问。
(4)domain 安全级别模式 如果samba 服务器加入windows 域环境中,验证工作服务,将由windows 域控制器负责,domain 级别的samba 服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows 域。
(5)ads 安全级别模式 当samba 服务器使用ads 安全级别加入到windows
域环境中,其就具备了domain 安全级别模式 中所有的功能并可以具备域控制器的功能。

3、用户设置

1、密码文件

samba 服务器发布共享资源后,客户端访问samba 服务器,需要提交用户名和密码进行身份验证,验证合格后才可以登录。samba 服务为了实现客户身份验证功能,将用户名和密码信息存放在/etc/samba/smbpasswd 中,在客户端访问时,将用户提交资料与smbpasswd 存放的信息进行比对,如果相同,并且samba 服务器其他安全设置允许,客户端与samba 服务器连接才能建立成功

3、samba 帐号并不能直接建立滴,需要先建立Linux 同名的系统帐号,先设置配置文件,在添加用户,此时会自动创建密码文件

把系统账号添加到samba服务器中
smbpasswd -a 用户名

[root@qianshuiliyu samba]# useradd user1;echo user1:123456|chpasswd
[root@qianshuiliyu samba]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.

2、密码文件设置

[root@qianshuiliyu ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
Added user user1.

4、此时,会自动创建密码文件

4、实战

1、/samba_serve为共享路径,拷贝文件测试

[root@qianshuiliyu ~]# mkdir /samba_server
[root@qianshuiliyu ~]# cp /etc/passwd /samba_server/

2、修改配置文件

也可以设置哪个组进行访问

3、访问

4、此时不能新建,没有权限,但是可以下载

5、修改权限,两个权限,一个配置文件,一个目录本身的权限
修改之后

5、虚拟账号

创建系统用户,添加到samba服务账号中
1、配置文件设置

2、对应账号设置,此时用qianshuiuser进行登录

重启服务进行测试

3、登录

6、隐藏文件


查看

在访问后面加上名字就出来了

7、映射网络文件


8、关闭连接

windows关闭连接
使用命令行net use * /delete /y

三、独立配置文件

1、创建配置文件。必须包含用户名

[root@qianshuiliyu samba]# cp smb.conf smb.conf.user1
[root@qianshuiliyu samba]# ls
lmhosts  smb.conf  smb.conf.user1  smbpasswd  smbuser

2、在smb.conf配置文件中设置

表示samba 服务器读取/etc/samba/smb.conf.%U 文件,其中%U 代表
当前登录用户

3、 smb.conf.user1文件设置
设置共享内容,这个账号与其他账号都能访问,主配置文件设置隐藏,对这个账号是开放的(取消隐藏),两个账号都能访问;就是你干了什么我都能看见

Linux-Samba的使用相关推荐

  1. linux samba代码,Linux下Samba服务器源码安装及配置

    获取samba源代码 你可以通过执行svn命令svn co svn://svnanon.samba.org/samba/trunk samba.获取最新的samba源文件,也可以直接从http://s ...

  2. 获取linux samba的文件访问日志

    一天一客户打电话说其公司的某一个共享文件夹完全不见,赶到客户处,经过分析,发现是因为某部门的同事不小心将之移动到其它的位置,把客户给吓得半 死.后来同其商量,为了解决此种,以及出现问题之后可以快速找出 ...

  3. 【Win10 访问 Linux samba 拒绝访问】

    Win10 访问 Linux samba 拒绝访问 问题一:" 你没有权限访问 \\ * . * . * . * ,请与网络管理员联系请求访问权限." 解决步骤: 问题二:Wind ...

  4. Linux—— SAMBA

    1. 起源 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议.​但是Linux和Windows之间是不能共享的, ...

  5. Linux samba服务搭建

    Ubuntu samba服务搭建 samba服务安装 sudo apt-get install samba samba-common -y 如下: smaba配置文件设置 sudo vi /etc/s ...

  6. linux svn 提交 慢,关于通过linux Samba共享开发模式,svn提交慢等问题

    因通过Samba共享+Svn 方式开发模式,有  svn提交,检出等很慢. 从  Linux(Samba 共享)   ----- win  client +svn 改为Linux  clinet   ...

  7. LINUX samba的安装使用

    1.redhat下用yum安装 yum install samba system-config-samba samba-client samba-common 2.修改samba下的配置文件 修改/e ...

  8. linux samba免密码,Ubuntu如何不用密码访问samba服务器

    samba是Linux系统上实现SMB协议的软件,很多用户对samba服务器并不是很了解,不知道Ubuntu能够无密码访问samba服务器,具体该如何实现呢?不妨随小编来详细了解下无密码访问samba ...

  9. VirtualBox Linux Samba 设置

    首先VirtualBox须用网桥的网络方式,因为NAT方式和internal方式中虚拟机并不真实存在于网络之中,主机与网络中的任何机器都不能查看和访问到Vhost的存在. step1 安装samba ...

  10. Linux -- Samba用户认证

     用户认证 作为一个功能强大的文件服务器软件,Samba提供了丰富的用户认证方式用于管理访问其共享资源的用户. 客户端在访问时,Samba服务器根据全局配置中的参数选择合适的认证方式以及认证用户来源进 ...

最新文章

  1. 厉害了!一本正经地为单身狗推荐这个158万张图像的鉴黄数据集
  2. Mac上小巧实用的GIF格式录屏软件 LICEcap
  3. 栈----生产者消费者实例
  4. Python与MySQL的交互
  5. Windows 10 + anaconda3快速配置tensorflow-gpu开发环境
  6. Facebook 内部高效工作PPT
  7. objective-c 关键字和概念
  8. sizeof(class)分析
  9. 如何写好简历及如何准备面试(转)
  10. 黑苹果OC配置工具 OpenCore Configurator 2.25中文版
  11. 软件测试面试题目—接口测试面试题,梦寐以求的答案来了
  12. 六、量子纠错码的构成法
  13. arcgis海岸带_需科学划定海岸带基准地理边界
  14. 汽车软件通信中间件iceoryx和它的零拷贝技术
  15. 小米手机自带计算机不能用怎么解决,如果小米手机无法进入系统怎么办?
  16. 正弦和余弦(角度到弧度)
  17. 真实评测酷睿 i5 12400f和i3 10100f选哪个
  18. 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
  19. MYSQL inserOrUpdate三种写法
  20. 1325208-25-0,Mal-PEG4-NHS马来酰亚胺基团和NHS酯基团交联剂

热门文章

  1. sca java_SCA客户端以及基于Java的模型实现(一)
  2. kettle的下载安装以及问题点
  3. 用Photoshop CS5新功能完成精细毛发抠图
  4. mysql 中查看表结构的命令
  5. ECharts显示24小时时间数据的一种办法
  6. 南京要求墓地实行一墓一价明码标价对外销售-墓地销售-公墓-墓地价格上涨
  7. 7.计算机病毒损坏某些硬件,区别计算机病毒与故障
  8. 866数据结构重点内容
  9. 保存数据的时候报类型错误的原因和解决方案
  10. vmos框架_vmos魔改共存版自带roor框架下载-vmos魔改版去广告去更新v1.0.63极简版_新绿资源网...