如何将服务器中文件夹或磁盘映射到多台个人电脑实现共享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将服务器中文件夹或磁盘映射到多台个人电脑实现共享相关的知识,希望对你有一定的参考价值。

买了服务器,搭建了内部网络,想把服务器中的文件夹或者某一个磁盘映射到个人电脑,直接在我的电脑中就可以显示,也可点击我的电脑后选择映射的磁盘直接进入服务器,进而实现数据管理与共享

映射网络驱动器时,每次重启电脑需要映射,让人不厌其烦,后来想到制作一个批处理文件,并设置开机启动,这样就解决了这一问题。 
批处理文件命令: 

Java代码  

    @echo off  

    net use Z: \\\\IP\\shareFile "password" /user:"ftpname"  


    开机启动设置: 


    win+R跳出运行对话框;然后输入regedit调出注册表编辑器-依次展开HKEY_LOCAL_MACHINE-SOFTWARE-MICROSOFT-WINDOWS-CURRENTVERSION-RUN 在右面新建一个字符串值数据设置为该批处理文件的路径!关闭就OK!! 





    详情如下: 


    1.     利用批处理文件来自动映射 



    ①      首先制作自动映射网络驱动器批处理文件; 



    ②      利用Net Use命令,其基本格式如下: 



    NET USE 



    [devicename | *] [\\\\computername\\sharename[\\volume] [password | *]] 



    [/USER:[domainname\\]username] 



    [/USER:[dotted domain name\\]username] 



    [/USER:[username@dotted domain name] 



    [/SMARTCARD] 



    [/SAVECRED] 



    [[/DELETE] | [/PERSISTENT:YES | NO]] 



    其中,devicename是映射的盘符,自己定义,比如Z:、Y:等,如果为*,则每次创建都选择一个盘符;computername为所要映射的计算机名称,用其IP地址也可以;sharename为共享的文件夹;password为连接所需密码;username是连接该计算机的用户名;SAVECRED是否保存用户名和密码;PERSISTENT是否永久连接,YES或NO,示例如下: 



    @echo off 



    net use z: \\\\Server\\sharefile "" /user:"guest" /persistent:no 



    即映射\\\\Server\\sharefile到Z:盘,用户名为Guest,密码为空 



    ③      制作步骤如下: 



    首先定义一个txt文件,然后修改其扩展名为bat,比如NetMapping.bat;接着编辑这个批处理文件,写入如下命令: 



    @echo off 



    net use z: \\\\Server\\sharefile "" /user:"guest" /persistent:no 



    根据需要修改要连接的计算机名称,共享文件名,登陆用户名和密码,还有定义的盘符。 



    再接着有几种执行方式,最简单的方式是将这个批处理文件放在“启动”项里,用户每次注销或重启计算机都会自动映射网络驱动器,但是如果Z:映射的已经存在,则不再创建。

参考技术A 第一种 samba共享
1、安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,安装命令:yum install samba
2、创建共享文件夹 mkdir -m 777 /home/default/share
3、修改/etc/samba/smb.conf,这里面的参数就比较多,主要是
workgroup = WORKGROUP(这个就是windows工作组模式,还有一种是域模式)
hosts allow = 192.168.1.100(可以放问的IP地址,这里写的时windows地址)
然后在文件的结尾加上
[public](共享名,就是windows访问时会显示的名称)
comment = Public Stuff(注释)
path = /home/def/share(共享名)
public = yes(公开)
writable = yes(可写)
注:vim /etc/samba/smb.conf. 将security=share. 本人win7系统。
当然这里只是些基础的参数,还有其他的参数根据情况设置,比如会出现乱码,还要指定编码格式。
4、重启smb服务
service smb restart
5、创建samba客户
smbpasswd -a def,回车后会提示输入密码。这个就是将来远程主机登录时需要的密码,这里的def帐号必须是系统已经有的帐号,没有的话会报错,然后新输的密码就是远程登录密码,这样做的好处就是自己的密码和远程登录的密码分开。
6、windows下连接,启动运行,输入\\192.168.1.101,输入smb帐号密码就可以了
第二种 通过NFS来访问主机端共享文件夹
NFS简介:NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
NFS最显而易见的好处:
1>本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2>用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
3>诸如软驱,CDROM,和 Zip(是指一种高储存密度的磁盘驱动器与磁盘)之类的存储设备可以在网络上面被别的机器使用。这可减少整个网络上的可移动介质设备的数量。
1、安装nfs服务器
Sudo apt-get install nfs-kernel-server
2、配置NFS服务器
Sudo vi /etc/exports
/source/rootfs *(rw,sync,no_subtree_check,no_root_squash)
Rw:具有读写权限
Sync:文件同步写入到内存和硬盘
no_subtree_check:如果共享的是根目录,则不检查子目录
No_root_squash:如果客户端是root的话,那么他对这个目录具有root的权限
3、重启NFS服务器
Sudo service nfs-kernel-server restart
4、进行挂载测试
Sudo mount -t nfs localhost:/source/rootfs /mnt
Ls -l /mnt
5、卸载
Sudo umount /mnt
第三种 通过9p-virtio来访问主机端共享文件夹
9p-virtio简介: 英文全称为:Plan 9 folder sharing over Virtio - I/O virtualization framework,是一种host和guest端共享文件夹的文件系统服务。目前guest端暂不支持windos系统(系统不支持virtio服务,且mount命令不支持挂载该格式的文件系统)。我测试guest端用的是ubuntu-13.10。
1, 检查host端是否支持9p-virtio。
lsmod | grep 9p
如果已经加载 9p.ko,9pnet_virtio.ko,9pnet.ko,说明已经支持virtio-9p。
如果不支持,需要重新编译kernel或9p对应的模块,并加载到host系统。编译前需要在kernel中添加如下配置选项:
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_9P_FS=y
CONFIG_9P_FS_POSIX_ACL=y
注:如果是模块,将y换成m,建议编译为驱动模块,省时间,’安全性高’。
2,客户端安装linux系统, 我安装的是ubuntu13-10版本。
测试时需要用到root账户,所以先把root账户密码激活,
ubuntu默认root密码不启动,密码激活:sudo passwd root 输入你
装系统时用户的密码,设置root 密码。
将guest关机,通过host端命令启动guest。
3,Host端启动虚拟机命令参数如下:
qemu-kvm –cpu host -m 1024 -enable-kvm
-drive file=/var/lib/libvirt/images/zxc_linux1.img,cache=writeback,if=virtio -localtime
-fsdev local,id=test_dev,path=/var/share,security_model=none
-device virtio-9p-pci,fsdev=test_dev,mount_tag=testmount
-vnc 0.0.0.0:0 -vga cirrus -monitor stdio
启用9p的参数解释如下:
-fsdev fsdriver,id=[id],path=[pathtoshare]
,security_model=[mapped|passthrough|none][,writeout=writeout]
[,readonly][,socket=socket|sock_fd=sock_fd]
-device virtio-9p-pci,fsdev=[id],mount_tag=[mount tag]
Fsdriver: 该选项指定fs驱动端使用,目前支持”only”,”handle”,”proxy”文件 系统驱动。
Id: 用来关联fsdev
Path:host端用来共享的文件夹。
Security_model:应该是共享权限,官方解释是:有效选项被映射,一种是透传模式,一种是none。Proxy文件系统驱动时不需要指定该选项。
-device 指定设备virtio-9p-pci.
Mount-tag:一个标识,用来在guest端mount时的tag。
4,在host端创建要和guest端共享的文件夹
Mkdir /var/share
5,在客户端执行如下命令:
mount -t 9p -o trans=virtio testmount /tmp/shared/ -oversion=9p2000.L,posixacl,cache=loose
-t 标识mount 类型;
-o 标识共享传输方式;
Testmount是mount_tag;
/tmp/shared 是guest端将要挂载到host端共享文件夹的目录。
-oversion是标识9p的版本信息。
参考技术B Unix 系统共享文件不是一两句话就能搞出来的,如果你有 Linux 系统的基础可以看资料搞一下,要么劝你一定一个 Windwos 系统的共享文件网上教程多也好弄。

unix一般用下面几种方式实现文件共享:
1、nfs,可以mount远程主机export的nfs文件系统,当本地文件系统一样用。
2、samba,可以mount远程主机的samba共享目录,和操作本地文件目录一样用,这种方式可以和windows之间共享文件目录。
3、ftp/tftp,服务器提供共享文件目录,客户端用ftp/tftp/wget工具浏览下载文件,这种方式主要是提供文件传输方法。
4、其它的远程拷贝和同步工具如:rcp,rsync,scp等。
参考技术C 使用坚果云,坚果云可以让文件在协作的同事之间自动流转,随时可以获得对方的最新工作成果,再也不用去专门要文件、等文件。之前IDC也做过相关的调查,使用我们的产品后,平均节约2.1%的时间,按8小时工作时间计算,相当于每个员工每月多出来5小时的工作时间。 参考技术D 买服务器?你的需求NAS就可以实现啊
单单只是要要个存储的功能的话,NAS就可以实现,装个黑群晖

网络驱动器和网络位置

1、网络驱动器

网络驱动器是针对的是局域网!

"映射网络驱动器" 的意思是将局域网中的某个目录映射成本地驱动器号,就是说把网络上其他机器的共享的文件夹映射自己机器上的一个磁盘,这样可以提高访问时间。

"映射网络驱动器"是实现磁盘共享的一种方法,具体来说就是利用局域网将自己的数据保存在另外一台电脑上或者把另外一台电脑里的文件虚拟到自己的机器上。

把远端共享资源映射到本地后,在"我的电脑"中多了一个盘符,就像自己的电脑上多了一个磁盘,可以很方便进行操作.(如"创建一个文件""复制""粘贴"等)。等效于在"网上邻居"看到共享文件或磁盘,自己可以在权限范围内进行操作。
在网络中用户可能经常需要访问某一个或几个特定的网络共享资源,若每次通过网上邻居依次打开,比较麻烦,这时用记可以使用“映射网络驱动器”功能,将该网络共享资源映射为网络驱动器,再次访问时,只需双击该网络驱动器图标即可。
2、网络位置
网络位置是针对的是广域网!
是用来打开网站、FTP站点或者网络位置
 

以上是关于如何将服务器中文件夹或磁盘映射到多台个人电脑实现共享的主要内容,如果未能解决你的问题,请参考以下文章

映射网络驱动器是啥

如何减少在 python 中加载泡菜文件或将泡菜文件映射到磁盘的时间

电脑如何共享文件夹?

新手如何映射共享盘 为 本地磁盘

IIS虚拟目录实现与文件服务器网络驱动器映射共享

如何将ftp服务器映射为本机磁盘