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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/34062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【reactNative混合安卓开发~使用问题持续更】

reactNative混合安卓开发 reactNative开发移动端reactNative界面开发前端init.bat文件部分组件第三方组件解析1、定义theme主题shopify/restyle;菜单导航react-navigation/drawer、react-navigation/native; RN问题记录1、使用theme.js写的公共组件报错&…

【博客699】docker daemon预置iptables剖析

docker daemon预置iptables剖析 没有安装docker的机器:iptables为空,且每个链路的默认policy均为ACCEPT [root~]# iptables-save[root ~]# iptables -t raw -nvL Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt …

k8s node 误删除了如何自动创建 csr重新加入集群

worker node 节点当部署晚 kubelet、kube-proxy就会加入集群,如何加入呢, [rootkube-node01 ssl]# mv kubelet-client-2023-08-13-01-19-00.pem kubelet-client-current.pem kubelet.crt kubelet.key /tmp/kubelet [rootkube-node01 ssl]# systemctl da…

Java 正则表达式【基本语法】

基本介绍 首先我们需要了解的是正则表达式中的各种元字符的功能,主要分为以下几种: 限定符选择匹配符分组组合和反向引用符特殊字符字符匹配符定位符 需要注意的是:在 Java正则表达式中,两个斜杠 \\ 相当于其它语言中的一个斜杠…

认识vite

一.了解vite的不同版本的更新 vite1版本是基于vue项目的,无法跨框架使用vite2可以跨框架(vue2,vue3,react)vite3模板变更;vite cli优化;import.meta.glob API变化;其他vite4主版本主…

Django框架-使用celery(一):django使用celery的通用配置,不受版本影响

目录 一、依赖包情况 二、项目目录结构 2.1、怎么将django的应用创建到apps包 三、celery的配置 2.1、celery_task/celery.py 2.2、celery_task/async_task.py 2.3、celery_task/scheduler_task.py 2.4、utils/check_task.py 四、apps/user中配置相关处理视图 4.1、基本…

【数据结构】复杂度

🔥博客主页:小王又困了 📚系列专栏:数据结构 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、什么是数据结构 二、什么是算法 三、算法的效率 四、时间复杂度 4.…

k8s基础

k8s基础 文章目录 k8s基础一、k8s组件二、k8s组件作用1.master节点2.worker node节点 三、K8S创建Pod的工作流程?四、K8S资源对象1.Pod2.Pod控制器3.service && ingress 五、K8S资源配置信息六、K8s部署1.K8S二进制部署2.K8S kubeadm搭建 七、K8s网络八、K8…

人大金仓三大兼容:Oracle迁移无忧

企业级应用早期的架构模式是C/S(Client/Server)模式,Client做人机交互逻辑的呈现,Sever做业务计算逻辑的实现。这就类似餐馆的运作模式,Client是前台的服务员提供点菜和上菜服务,而Server则是后厨完成菜品的…

设计模式之工厂方法模式(FactoryMethod)

一、概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。 二、适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委…

vue生命周期解析

Vue.js 是一个流行的前端 JavaScript 框架,它提供了一种用于构建用户界面的渐进式方法。Vue 组件的生命周期钩子函数是一些特定的函数,它们在组件不同阶段被自动调用,可以让你在这些阶段执行特定的逻辑。下面是 Vue 组件的生命周期钩子函数以…

【Spring】核心容器——Setter注入

1、引入 首先引入Spring框架依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.6.RELEASE</version> </dependency> 在dao层和service层分别准备两个接口以及他…

Stable Diffuion webui Mac版本安装过程

系统环境 操作系统&#xff1a;MacOS Ventura13.5 芯片&#xff1a;Apple M2 Max Python: 3.10 安装前置准备 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git注意事项&#xff1a;修改源码内全部 git clone 链接&#xff0c;设置代理 https://ghpr…

26 | 谷歌应用APP数据分析

基于kaggle公开数据集,对谷歌应用市场的APP情况进行数据探索和分析。 from kaggle: https://www.kaggle.com/lava18/google-play-store-apps 分析思路: 0、数据准备 1、数据概览 2、种类对Rating的影响 3、定价策略 4、因素相关性分析 5、用户评价 6、总结 0、数据准备 (…

Fast SAM与YOLOV8检测模型一起使用实现实例分割以及指定物体分割

Fast SAM与YOLOV8检测模型一起使用 部分源代码在结尾处可获取 晓理紫 1 使用场景 实例分割数据集的获取要比检测数据的获取更加困难&#xff0c;在已有检测模型不想从新标注分割数据进行训练但是又想获取相关物体的mask信息以便从像素级别对物体进行操作&#xff0c;这时就可以…

学习内容散记

git下载网址 &#xff1a;https://registry.npmmirror.com/binary.html?pathgit-for-windows/ error: remote origin already exists 如果你clone下来一个别人的仓库&#xff0c;在此基础上完成你的代码&#xff0c;推送到自己的仓库可能遇到如下问题&#xff1a; error: r…

uniapp开发(由浅到深)

文章目录 1. 项目构建1.1 脚手架构建1.2 HBuilderX创建 uni-app项目步骤&#xff1a; 2 . 包依赖2.1 uView2.2 使用uni原生ui插件2.3 uni-modules2.4 vuex使用 3.跨平台兼容3.1 条件编译 4.API 使用4.1 正逆参数传递 5. 接口封装6. 多端打包3.1 微信小程序3.2 打包App3.2.1 自有…

PHP“牵手”京东商品详情数据获取方法,京东商品详情API接口申请指南

京东详情接口 API 是淘宝开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取淘宝商品的详细信息&#xff0c;包括商品的标题、描述、图片等信息。在淘宝电商平台的开发中&#xff0c;京东详情接口 API 是非常常用的 API&#xff0c;因此本文将详细介绍京东详情接口 …

VS+QT+Opencv使用YOLOv4对视频流进行目标检测

对单张图像的检测&#xff0c;请参考&#xff1a;https://blog.csdn.net/qq_45445740/article/details/109659938 #include <fstream> #include <sstream> #include <iostream> #include <opencv2/dnn.hpp> #include <opencv2/imgproc.hpp> #inc…

支付整体架构

5.4 支付的技术架构 架构即未来&#xff0c;只有建立在技术架构设计良好的体系上&#xff0c;支付机构才能有美好的未来。如果支付的技术体系在架构上存在问题&#xff0c;那么就没有办法实现高可用性、高安全性、高效率和水平可扩展性。 总结多年来在海内外支付机构主持和参与…