Linux服务器映射到本地磁盘
内容来自网友博客。
把linux服务器上的文件夹映射到本地作为一个磁盘来访问,步骤如下
一. samba的安装:
sudo apt-get install samba // (sudo get temp root auth)
sudo apt-get install smbfs //旧版本
sudo apt-get install cifs-utils //新版本
上面的命令将会安装Samba和其他相关的工具。在旧版的Ubuntu中,你可能需要使用 smbfs替代 cifs-utils。
sudo apt-get install samba-common
二. 创建共享目录:
1、系统用户home目录下:
mkdir /home/john/share //如果配置的共享目录不存在则创建
chown -R nobody. /home/john/share //设置共享目录归属为 nobody ///
sudo chmod 777 /home/john/share //将共享目录属性设置为 777
说明:john为你的ubuntu的用户名;share你可以随便起个名字做为共享文件夹
2、普通目录下:
如创建/mydir/private 和 /mydir/public 目录 ( 注意权限问题,不然导致不能访问)
mkdir -p /mydir/{private,public}
chown -R nobody.nogroup /mydir
chmod -R 777 /mydir
三. 创建Samba配置文件:
1. smb.conf部分配置说明
[global]
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
security = user //认证模式为User
map to guest = bad user //这个很关键,实现匿名无须交互输入用户名和密码就靠它了
guest account = guest //匿名用户映射为guest用户
[myshare]
comment = My share
path = /home/public //共享路径
browseable = Yes //可以被浏览,就是在网络邻居中能看到共享名
read only = No //可读写
guest ok = Yes //允许匿名访问,这个也需要设置,否则匿名无法访问
valid users = samba liuag guest //有效的用户和组
invalid users = liuben //无效用户和组
read list = samba //只读用户和组(如果read only = No,只读用户需要在此设置)
write list = liuag //可读写用户和组(如果read only = Yes,可读写用户需要在此设置)
allow hosts = 192.168.100.236 //允许访问主机列表,支持通配符
deny hosts = 192.168.100.0/24 //禁止访问主机列表,支持通配符
示例:
[global]
workgroup = WORKGROUP
server string = samba server on ubuntu
netbios name = ubuntu_smb
interfaces = 127.0.0.0/8 eth0
hosts allow = 192.168.1. 192.168.163. 192.168.153.
security = user
username map = /etc/samba/smbusers
encrypt passwords = true
passdb backend = smbpasswd
smb passwd file =/etc/samba/smbpasswd
log file = /var/log/samba/log.%m
max open files = 1000
socket options = TCP_NODELAY
;[homes]
; comment = home directories
; browseable = no
; writable = yes
; valid users = %S
; create mode = 0664
;[printers]
; printable = Yes
; browseable = No
; path = /var/spool/samba
[code]
comment = code //comment是对该共享的描述,可以是任意字符串。
path = /home/songyd/code
writable = yes
browseable = yes
available = yes
2. 保存现有的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
3.修改现配置文件
sudo gedit /etc/samba/smb.conf
在smb.conf最后添加
示例一:
[share] G
path = /home/john/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = myname
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup
说明:valid users = myname 这个myname是自己起的,后面在添加用户名时就是添加的这个;
另外这个 [share] 名字也是可以随便起的,这个是你在windows下访问时显示的名字;
在windows下 \\162.168.160.11\share就可以访问linux下/home/god/ code目录下的内容了;
其中162.168.160.11是你linux的IP地址,用ifconfig就可以查看到。
示例二:
[www]
path = /home/test/www
available = yes
browseable = yes
public = yes //允许匿名用户登录
writable = yes
说明:public 指明该共享资源是否能给游客帐号访问,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的。
然后顺便把这里改一下,找到[global]把 workgroup = MSHOME改成 :(注意,这里的WORKGROUP是共享中的工作组名称) 代码:(如果没有也可加上去)
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是为了防止出现中文目录乱码的情况。
四. 创建samba帐户 :
现在要添加 myname这个网络访问帐户。如果系统中当前没有这个帐户(也可以用系统中己存在的账户如root,god),那么代码:
sudo useradd myname
上面只是增加了 myname这个系统用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。这个你可以在重启机器时看到这个你添加的用户,但是你却用它登陆不了系统,因为没有赋予本机登录密码。
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a myname
(如果你直接用系统中的账号,这里myname就是你系统中的账户即可)然后会要求你输入samba帐户的密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码。
删除网络使用者的帐号的命令把上面的 -a 改成 -x 即: sudo smbpasswd -x myname
smbpasswd 命令的用法
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
要在global中写入 null passwords -true
smbpasswd -x 删除用户
五. 用户账号映射 :
samba的用户帐号信息是保存在smbpasswd文件中的,而且可以访问samba服务器的帐号也必须对应一个同名的系统帐号。基于这 一点,所以,对于一些hacker来说,只要知道samba服务器滴samba帐号,就等于是知道了Linux系统帐号,只要crack其samba帐号密码加以利用就可以攻击samba服务器。所以我们要使用用户帐号映射这个功能来解决这个问题。
用户帐号映射这个功能需要建立一个帐号映射关系表,里面记录了samba帐号和虚拟帐号的对应关系,客户端访问samba服务器时就使用虚拟来登录。
1)编辑主配置文件vi /etc/samba/smb.conf
在//下添加一行字段username map = /etc/samba/smbusers开启用户帐号映射功能。
2)编辑 vi /etc/samba/smbusers
smbusers文件保存帐号映射关系,其有固定滴格式:
samba帐号 = 虚拟帐号(映射帐号)
myname = networkusername
帐号myname就是我们上面建立的samba帐号(同时也是Linux系统帐号),networkusername就是映射的帐号名(虚拟帐号),帐号 myname在我们访问共享目录时只要输入networkusername就可以成功访问了,但是实际上访问samba服务器的还是我们的myname帐号,这样一来就解决了安全问题。
3)重启samba服务:service smbd restart
4)验证效果
输入我们定义的映射帐号networkusername,注意我们没有输入帐号myname,映射帐号networkusername的密码和myname帐号一样,现在就可以通过映射帐号浏览共享目录了。
六. 重启samba服务器 :
sudo testparm 验证一下配置参数有没有问题,如果有问题在回去修改
sudo /etc/init.d/samba restart (不知为什么,我的这个目录下就是没有这个,用这个命令总是报错)
service samba restart
service smbd restart
七. 测试:
smbclient -L //localhost/share 或者
smbclient -L \\127.0.0.1 -U myname //这时输入的密码就是你刚才设置的samba密码
八. 使用 :
可以到windows下输入ip使用了,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share";
我的即为:\\162.168.160.11\share(share就是刚才smb.conf中的[share])第一次进入时要输入用户名和密码,这个就是你在第四步中设置的用户名和密码。
九. samba的卸载:
dpkg -l |grep samba
dpkg -l |grep smbfs
dpkg -l |grep smb
apt-get remove samba\smbfs\smb
ubuntu12.04samba服务器配置
系统平台:VMware Workstation9.0 + ubuntu12.04
首先要解决windows和linux网络连接问题:
在VMware Workstation9.0 “设置” 选项中,设置"网络"
网络连接1 选中“启用网络连接” 方式:NAT
网络连接2 选中“启用网络连接” 方式:Bridged Adapter
启动ubuntu,查看地址: #ifconfig eth0
注:你的LINUX里面可能有两块网卡eth0和eth1,分别看一下他们的IP地址,有一个是和你的WINDOWS本地连接IP地址在一个网段的(以后就使用这个IP地址登录samba,也是挂载NFS服务器的IP)
再说一下关于IP地址的配置(以我自己的电脑举例):
我是用ADSL拔号上网,windows本地连接的IP地址是自动获取的,IP为:192.168.1.45
查一下linux下eth0的IP为:10.0.2.15;eth1的IP为192.168.1.42
那eth1即为linux的本地连接的IP地址,也就是samba服务器的IP地址
关闭LINUX防火墙命令: #ufw disable
注:ufw是linux下的防火墙操作命令,相关的操作可以查看命令帮助
然后就在windows下ping一下linux的IP,如果能ping通,就可以继续下面的内容,如果ping不通就再找找原因
注:ubuntu 12.04已经安装了最新版本的samba服务器,无需安装。如果使用12.04以前的版本,最好是按下边的方法升级一下samba,12.04版本无需下列操作
卸载samba,smbclient,samba-common
$sudo apt-get remove samba-common
$sudo apt-get remove smbclient
$sudo apt-get remove samba
安装Ubuntu samba服务器:
sudo apt-get install samba
sudo apt-get install smbfs
开始配置:
samba配置文件: /etc/samba/smb.conf
可以修改配置文件来设置samba共享和用户
如果不习惯使用配置文件,也可以使用图形界面
安装Ubuntu samba图形管理界面
#sudo apt-get install system-config-samba
启动samba图形管理界面
#sudo system-config-samba
也可以选择菜单: system->Administration->Samba
配置方法和RedHat9中一样
选择要共享的目录 设置读写权限 设置访问权限 添加samba用户
配置完成后要重启samba
#sudo /etc/init.d/smbd restart
相关文章:
Linux服务器映射到本地磁盘
内容来自网友博客。 把linux服务器上的文件夹映射到本地作为一个磁盘来访问,步骤如下 一. samba的安装: sudo apt-get install samba // (sudo get temp root auth) sudo apt-get install smbfs //旧版本 sudo apt-get install cifs-utils //新版本 上…...
条条大路通罗马系列—— 使用 Hiredis-cluster 连接 Amazon ElastiCache for Redis 集群
前言 Amazon ElastiCache for Redis 是速度超快的内存数据存储,能够提供亚毫秒级延迟来支持 实时应用程序。适用于 Redis 的 ElastiCache 基于开源 Redis 构建,可与 Redis API 兼容,能够与 Redis 客户端配合工作,并使用开放的 Re…...
元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑
随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…...
我的Python教程:使用Pyecharts画柱状图
Pyecharts是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个基于 JavaScript 的数据可视化库,提供了丰富的图表类型和交互功能。通过 Pyecharts,你可以使用 Python 代码生成各种类型的 Echarts 图表,例如折线图、柱状图、饼图、散点图…...
应用冷启bindservice耗时
背景:sdk初始化的时候耗时过长,而sdk,init方法中只有一个bindservice及一些变量的初始化,却好事100ms 查看trace发现binderservice耗时只占init耗时的一小部分,但是init逻辑并没有其他代码。 这里servicebind返回快的另一原因是se…...
资金情况:每周一次投资和消费总结
以下是每周一次投资和消费总结的最佳方法: 撰写一份清单:在整个星期中记录你的投资和消费行为,包括花费、支出和收入。 分类整理:将你的花费和支出分成不同的类别,例如餐饮、购物、交通等等。这将帮助你更好地了解你的…...
(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(7)
1002 Random Nim Game 只有3种情况,要么必赢,要么必输,要么从宏观角度考虑,随机的话,赢的概率就是1/2(就像抛硬币一样,随着抛的次数越来越多,正反面的概率将越来越接近1) 当只要有一堆石头数量不是1,那么就是必赢或必输,赢的概率就是1/2 当每堆石头数量都为1时,当堆数为奇数…...
力扣:61. 旋转链表(Python3)
题目: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 示例&…...
笙默考试管理系统-MyExamTest----codemirror(1)
笙默考试管理系统-MyExamTest----codemirror(1) 目录 笙默考试管理系统-MyExamTest----codemirror(1) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试管…...
【资料分享】全志科技T507工业核心板硬件说明书(二)
目 录 2引脚说明 2.1引脚排列 2.2引脚定义 2.3内部引脚使用说明 2.4引脚上下拉、串联说明 2.5功能引脚信号走线长度与阻抗说明 本文档为创龙科技SOM-TLT507工业...
PyTorch翻译官网教程-FAST TRANSFORMER INFERENCE WITH BETTER TRANSFORMER
官网链接 Fast Transformer Inference with Better Transformer — PyTorch Tutorials 2.0.1cu117 documentation 使用 BETTER TRANSFORMER 快速的推理TRANSFORMER 本教程介绍了作为PyTorch 1.12版本的一部分的Better Transformer (BT)。在本教程中,我们将展示如…...
SpringCloud实用篇6——elasticsearch搜索功能
目录 1 DSL查询文档1.1 DSL查询分类1.2 全文检索查询1.2.1 使用场景1.2.2 基本语法1.2.3 示例1.2.4 总结 1.3 精准查询1.3.1 term查询1.3.2 range查询1.3.3 总结 1.4.地理坐标查询1.4.1 矩形范围查询1.4.2 附近查询 1.5 复合查询1.5.1 相关性算分1.5.2 算分函数查询1࿰…...
质量小议29 -- 循证
1. 循证 Evidence-Based遵循证据基于证据慎重、准确和明智地应用当前所能获得的最好研究依据利用证据追求实践科学化和专业化的价值观,重视证据指导实践的理念,运用证据解决实践中问题的思维,基于证据开展专业实践活动的指导原则,…...
微服务与Nacos概述-3
流量治理 在微服务架构中将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时…...
Java 面试八股文
参考: 2023年 Java 面试八股文(20w字)_json解析失败_leader_song的博客-CSDN博客...
NPM与外部服务的集成(上)
目录 1、关于访问令牌 1.1 关于传统令牌 1.2 关于粒度访问令牌 2、创建和查看访问令牌 2.1 创建访问令牌 在网站上创建传统令牌 在网站上创建粒度访问令牌 使用CLI创建令牌 CIDR限制令牌错误 查看访问令牌 在网站上查看令牌 在CLI上查看令牌 令牌属性 1、关于访问令…...
React Router 6
1.概述 React Router 以三个不同的包发布到 npm 上,它们分别为: react-router: 路由的核心库,提供了很多的:组件、钩子。 react-router-dom: 包含react-router所有内容,并添加一些专门用于 DOM 的组件,例如…...
Leetcode34 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 代码: c…...
Kubernetes 调度约束(亲和性、污点、容忍)
目录 一、Pod启动典型创建过程 二、调度流程 三、指定调度节点 1.使用nodeName字段指定调度节点 2.使用nodeSelector指定调度节点 2.1给对应的node节点添加标签 2.2修改为nodeSelector调度方式 3.通过亲和性来指定调度节点 3.1节点亲和性 3.2Pod亲和性与反亲和性 3.2…...
按轨迹运行
文章目录 import math import timeimport numpy as np import matplotlib.pyplot as pltdef plot_arrow(x, y, yaw, length=5, width=1):dx = length * math.cos(yaw)dy = length * math.sin(yaw)plt.arrow(x, y, dx, dy, head_length=width, head_width=width)plt.plot([x, x …...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
前端工具库lodash与lodash-es区别详解
lodash 和 lodash-es 是同一工具库的两个不同版本,核心功能完全一致,主要区别在于模块化格式和优化方式,适合不同的开发环境。以下是详细对比: 1. 模块化格式 lodash 使用 CommonJS 模块格式(require/module.exports&a…...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
Git 命令全流程总结
以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理: 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…...
AT模式下的全局锁冲突如何解决?
一、全局锁冲突解决方案 1. 业务层重试机制(推荐方案) Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减(自动加全…...
mcts蒙特卡洛模拟树思想
您这个观察非常敏锐,而且在很大程度上是正确的!您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些,您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”,这个观察非…...
Spring AI中使用ChatMemory实现会话记忆功能
文章目录 1、需求2、ChatMemory中消息的存储位置3、实现步骤1、引入依赖2、配置Spring AI3、配置chatmemory4、java层传递conversaionId 4、验证5、完整代码6、参考文档 1、需求 我们知道大型语言模型 (LLM) 是无状态的,这就意味着他们不会保…...
