当前位置: 首页 > news >正文

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&#xff0…...

质量小议29 -- 循证

1. 循证 Evidence-Based遵循证据基于证据慎重、准确和明智地应用当前所能获得的最好研究依据利用证据追求实践科学化和专业化的价值观,重视证据指导实践的理念,运用证据解决实践中问题的思维,基于证据开展专业实践活动的指导原则&#xff0c…...

微服务与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 …...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

OpenLayers 分屏对比(地图联动)

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

MySQL 主从同步异常处理

阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示&#xff…...