linux搭建smb、挂载smb、Windows共享
实现Linux系统之间共享文件资源以及在Linux系统与Windows系统之间共享文件
Samba软件包的构成
- 服务端:samba
- 客户端:samba-client
- 公共组件:samba-common
- Smbd:负责为客户机提供服务器中共享资源(目录和文件)的访问,监听139端口(smb协议),445端口(cifs协议)
- Nmbd:负责提供基于netblos协议的主机名称解析,以便为windows网络中的主机进行查询服务,监听137-138端口(netblos协议)
Samba服务的程序组件
主配置文件路径
/etc/samba/smb.conf
配置文件参数解释
|
[global] |
#全局参数。 |
|
|
workgroup = MYGROUP |
#工作组名称 |
|
|
server string = Samba Server Version %v |
#服务器介绍信息,参数%v为显示 SMB版本号 |
|
|
log file = /var/log/samba/log.%m |
#定义日志文件的存放位置与名称, 参数%m为来访的主机名 |
|
|
max log size = 50 |
#定义日志文件的最大容量为50KB |
|
|
security = user |
#安全验证的方式,总共有4种 |
|
|
#share:来访主机无需验证口令;比较方便,但安全性很差,7.0以上系统不支持share, 使用user模式,map to guest=bad user代替 |
||
|
#user:需验证来访主机提供的口令后才可以访问;提升了安全性 |
||
|
#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户) |
||
|
#domain:使用域控制器进行身份验证 |
||
|
passdb backend = tdbsam |
#定义用户后台的类型,共有3种 |
|
|
#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码 |
||
|
#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户 |
||
|
#ldapsam:基于LDAP服务进行账户验证 |
||
|
load printers = yes |
#设置在Samba服务启动时是否共享 打印机设备 |
|
|
cups options = raw |
#打印机的选项 |
|
|
[homes] |
#共享参数 |
|
|
comment = Home Directories |
#描述信息 |
|
|
browseable = no |
#指定共享信息是否在“网上邻居”中可见 |
|
|
writable = yes |
#定义是否可以执行写入操作, 与“read only”相反 |
|
|
[printers] |
#打印机共享参数 |
|
|
comment = All Printers |
||
|
path = /var/spool/samba |
#共享文件的实际路径(重要)。 |
|
|
browseable = no |
#网络发现是否可见 |
|
|
guest ok = no |
#是否所有人可见,等同于"public"参数。 |
|
|
writable = no |
#是否允许写入 |
|
|
printable = yes |
||
u 部署samba服务
匿名方式访问
准备环境
setenforce 0 //关闭selinux
systemctl stop firewalld //关闭防火墙
1.搭建本地yum源。
2.使用yum方式安装samba服务程序
yum install -y samba* //yum方式安装samba服务
- 创建共享的目录
- 编辑主配置文件设置匿名共享,设置共享目录
- 重启服务,使用windos访问验证,无法访问请检查iptable 防火墙
mkdir -p /var/public //创建要共享目录
vim /etc/samba/smb.conf //编辑samba主配置文件
------------------添加或者修改红色部分的参数-----------------
[global]
workgroup = SAMBA
security = user //7.0以下系统将user改为share
passdb backend = tdbsam
map to guest = bad user //7.0以上匿名访问必加
[public] //共享目录名称
comment = public //共享描述
path = /var/public //共享目录路径
guest ok = yes //共享目录是否所有人可见
read only = yes //是否只读
browseable = yes //网络发现是否可见
systemctl restart smb //重启samba服务
用户验证的共享
案例:创建一个共享目录/var/yonghu/,只有zhangsan和lisi可以访问共享,只有zhangsan有可以写入的权限
注意:创建共享用户前需要有对应的系统用户
- 创建共享用户zhangsan、lisi,创建共享的目录
- 修改smb配置文件,设置共享目录
Useradd zhangsan //创建系统用户zhangsan
Useradd lisi //创建系统用户lisi
Pdbedit -a -u zhangsan //创建共享用户zhangsan,-a添加-u指定用户
Pdbedit -a -u lisi //创建共享用户lisi,-a添加-u指定用户
Mkdir /var/yonghu //创建共享目录
vim /etc/samba/smb.conf //编辑samba主配置文件
------------------添加或修改红色部分参数-------------------
[global]
workgroup = MYGROUP
security = user
passdb backend = tdbsam
map to guest = bad user //匿名访问必加,否则需要密码
[public]
comment = public
path = /var/public
guest ok = yes
[yonghu] //共享目录名称
comment = yonghu //描述
path = /var/yonghu //共享目录路径
public = no //是否所有人可见
read only = yes //是否只读
valid users = zhangsan,lisi //哪些用户可以访问
write list = zhangsan //哪些用户可以写入,组加“@组名”
directory mask = 0755 //用户上传目录权限为755
create mask = 0644 //用户上传文件权限为644
3.给予共享目录777权限
Chmod -R 777 /var/yonghu //更改共享目录的权限为777
4.重启smb服务验证权限
systemctl restart smb //重启samba服务
windows清除smb的连接会话
net use //查看连接会话
net use * /del //清除连接会话
用户映射的共享(安全性高)
正常情况下,一个共享账号都有一个同名的系统账号很不安全,可以使用映射的方式,将一个共享用户映射为多个不同的名称(别名),只需要通过共享用户的别名和密码就能访问资源了,而不需要知道真正的共享用户(系统用户)名称
默认的共享账号映射文件位于:/etc/samba/smbusers
启用映射功能,需要修改主配置文件,在全局配置加入:
username map=/etc/samba/smbusers
重启服务即可生效
访问地址限制
在global或者配置里面添加hosts allow或者hosts deny即可
Hosts allow = 192.168.2. 172.16. //允许192.168.2.0,172.16.0.0网段访问
Hosts deny = 192.168.3. 172.14. //拒绝192.168.3.0,172.14.0.0网段访问
使用smbclient访问共享
查询共享资源列表
smbclient -L 192.168.2.162 -U administrator
匿名访问共享文件夹
smbclient //192.168.2.223/public
使用用户名、别名访问共享
smbclient -U ls //192.168.2.223/zhangsan
挂载共享目录
Linux下挂载samba共享目录
1.使用yum安装cifs-utils工具
yum install -y cifs-utils //yum安装cifs-utils工具
2.使用smbclient工具查询共享目录
smbclient -L 192.168.2.224 //查询2.224的共享目录
匿名挂载方法
mount.cifs //192.168.2.223/public /ceshi
//将public目录挂载到本地ceshi目录
指定用户挂载
mount.cifs //192.168.2.223/yonghu /ceshi/ -o username=zhangsan,password=aaa
//将yonghu目录挂载到本地ceshi目录,指定用户名zhangsan
Linux下挂载windos共享目录
1.使用smbclient工具查询共享目录
smbclient -L 192.168.2.224 //查询2.224的共享目录
2.挂载windos共享目录
①mount -t cifs -o username=administrator,password=123 //192.168.2.162/d /ceshi/ //将d盘挂载到本地的ceshi目录
②mount -t cifs -o username=administrator,password=666,vers=2.0 //192.168.9.1/test /media/windows
smb常见故障
注意:如果windows无法访问,先使用其他客户端或者linux测试是否能访问,然后在排除故障
1.win7访问Linux Samba的共享目录提示“登录失败:用户名或密码错误”解决方法:
单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,然后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改为“发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2会话安全”,最后应用确定,然后重新连接测试
linux搭建smb、挂载smb、Windows共享的更多相关文章
- 如何在 Linux 上永久挂载一个 Windows 共享
导读 如果你已经厌倦了每次重启 Linux 就得重新挂载 Windows 共享,读读这个让共享永久挂载的简单方法. 在 Linux 上和一个 Windows 网络进行交互从来就不是件轻松的事情.想想多 ...
- Linux访问windows共享(samba/smbclient/smbfs/cifs)
samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件.●安装samba,samba-client和cifs-utils.x86_64此步将自动安装好相关依赖包:samba ...
- Linux分区和挂载(mount命令的学习)
当Windows系统出现问题的时候,可能需要重装系统,这个时候我们往往会使用系统盘将系统重新安装在C盘上,其他盘上的文件都没有受到重装系统的影 响,这就是分区的好处之一.同样,在Linux中也需要分区 ...
- Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决
转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...
- [linux]挂载smb
什么是 smb 服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写 ...
- lubuntu通过Smb访问Windows共享目录
lubuntu通过Smb访问Windows共享目录 如果未安装Smb,先安装: apt-get install smbclient smbfs 安装后,查看共享主机上的共享目录: CentOS/Red ...
- linux系统下挂载windows共享目录
在工作中有时我们需要在linux上挂载windows共享目录.首先我们需要学会在linux上查看windows共享了那些目录.查看操作需要安装samba-client. [root@ ~]# yum ...
- How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】
How to mount remote Windows shares Contents Required packages Basic method Better Method Even-better ...
- 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享
如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...
随机推荐
- php文档注释提取工具phpdocumentor的使用
phpDocumentor, 分为文档性注释, 和 非文档性注释; 命令为: phpdoc -h, -f, -d.... 提取/ 生成 程序的注释文档, 实际上有很多种工具, 如: doc++, do ...
- HDU 4632 Palindrome subsequence & FJUT3681 回文子序列种类数(回文子序列个数/回文子序列种数 容斥 + 区间DP)题解
题意1:问你一个串有几个不连续子序列(相同字母不同位置视为两个) 题意2:问你一个串有几种不连续子序列(相同字母不同位置视为一个,空串视为一个子序列) 思路1:由容斥可知当两个边界字母相同时 dp[i ...
- 【做题】UVA-12304——平面计算集合六合一
可真是道恶心题-- 首先翻译一下6个任务: 给出一个三角形,求它的外界圆. 给出一个三角形,求它的内接圆. 给出一个圆和一个点,求过这个点的切线的倾斜角\(\alpha \in [0,180)\).( ...
- 题解——洛谷P2734 游戏A Game 题解(区间DP)
题面 题目背景 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的 ...
- redis中 Could not get a resource from the pool 异常解决
https://blog.csdn.net/qh_java/article/details/54669973
- ESP8266 使用
ESP8266 微机使用串口和ESP8266建立通信,ESP8266把消息通过wifi发送出去 助手软件 网络调试助手 串口调试助手 AT指令 指令 作用 AT 测试是否进入AT模式 AT+RST 重 ...
- 在 2016 年学 JavaScript 是一种什么样的体验?(React从入门到放弃)
jquery 年代 vs 前端模块化 http://blog.csdn.net/offbye/article/details/52793921 ++ 嘿,我最近接到一个 Web 项目,不过老实说,我这 ...
- 【AT1219】历史研究
Problem Description \(IOI\)国历史研究的第一人--\(JOI\)教授,最近获得了一份被认为是古代\(IOI\)国的住民写下的日记.\(JOI\)教授为了通过这份日记来研究古代 ...
- Linux let 命令
命令:let let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量.如果表达式中包含了空格或其他特殊字符,则必须引起来. 语法格式 let arg ...
- 软件测试中Bug的生命周期以及Bug的严重等级
软件测试中Bug的生命周期以及Bug的严重等级 我猜你们都会,但能说专业且全面不? 1.首先当测试人员接到一个项目或产品准备测试的时候,测试人员会根据测试用例一步步的来执行用例进行简单的功能测试.当测 ...