业务需求需要挂载 linux 文件到 window 上, 查看相关文章后发现可用进行 nfs 挂载: https://blog.51cto.com/ixdba/920290
但在我在命令行中执行挂载命令之后,并未出现 “网络位置”下的挂载盘符,实际手动设置“映射网络启动器”之后才会在“网络位置”下出现相应的挂载目录。
但是我的操作是希望行云流水般自动化操作,开机-ssh 连接-命令行挂载目录,现在变成了:开机-ssh 连接-命令行挂载目录-手动映射网络启动器,
请教各位懂 windows 的大佬,能否 1、在命令行执行 mount 之后直接显示相应的挂载数据 2、有无方法通过脚本、命令的形式设置“映射网络启动器”
多谢各位
1
msg7086 2019-12-25 15:57:17 +08:00 via Android
嗯? mount 不是直接出盘符的吗。
|
3
Linken404 2019-12-25 16:11:27 +08:00
我理解的是你在 linux 上面做了 nfs,然后在 windows 上面挂载这个 nfs
如果我理解的没问题的话,那么直接 windows 下写个 bat 文件: net use z: \\[ip]:\[pwd] [password] /user:[user] 然后把这个文件的快捷方式丢到启动文件夹里面不就行了 |
4
kingofvir OP @Linken404 理解是没错,但是有个要求是:这些挂载目录都是动态的,我目前是等待 linux 启动后,用 ssh 连接 window ,执行动态的目录挂载
|
5
tyrantZhao 2019-12-25 16:22:25 +08:00
samba 不能用吗
|
6
kingofvir OP @Linken404 我尝试了您的方式,以 ssh 远程连接 windows,在其命令行输入 net use U: \\192.168.3.111\mnt\disk2\project\user1 且显示 The command completed successfully. 然后进入 powershell 能进入 U 盘符,ls 查看也能看到相应的文件,但是在 windows 界面上依然看不大 U 盘符
|
8
kingofvir OP @tyrantZhao samba 尝试过,但是我的需要是:windows 其实是虚拟机,每次起来之后需要按登陆的用户,挂载或者共享他对应的自己的文件夹,在我理解(初步看了下 samba 的 demo 设置) samba 是多人共享一个文件夹比较适合。或者请教下能否对 samba 设置:一台 windows 一个文件夹访问方式,如果可以的话,我在 windows 虚拟机起来后手动更新 samba 配置也是可以的
|
10
Linken404 2019-12-25 16:40:04 +08:00
@kingofvir 我没试过 ssh 到 windows 之后进行命令行操作,你先试试直接在 windows 的 cmd 里面执行这条命令,如果成功应该是会显示盘符的。
|
11
kingofvir OP @Linken404 上一个回复 “我目前是等待 linux 启动后” 错了,是“我目前是等待 windows 启动后”
|
12
kingofvir OP @Linken404 我试了下也么有出盘符,这个“自动加载盘符”这个操作是否在 windows 下需要设置下? 我没怎么接触过 window 下的开发,所以不太懂
|
13
Linken404 2019-12-25 16:50:45 +08:00
@kingofvir 如果 bat 执行后能看到盘符(以我平时的经历来看是肯定可以的),那么试试看能不能把流程变成:开机-ssh 连接-上传 bat 文件到 windows-本地或远程执行 bat 文件
|
15
kingofvir OP @Linken404 其实如果能显示盘符,流程啥的都好办,烦就烦在他不显示,我的系统镜像是 Win10_1909_Chinese(Simplified)_x64.iso ,安装的时候选择的是专业版,但是未激活
|
16
Linken404 2019-12-25 16:55:48 +08:00
@kingofvir 你检查一下语法,或者修改一下盘符,命令正常的话理论上是直接在我的电脑下面出现盘符的...网上查了一下也没有和你这种同样的情况,不在现场确实是没什么别的思路了
|
19
kingofvir OP @Linken404 其实命令成功之后,进入 powershell 能进到 U 盘,ls 也能看到对应挂载下的文件,说明命令是正确的
|
20
omph 2019-12-25 17:03:03 +08:00
samba 支持独立配置文件,如:config file = /etc/samba/win.%U.conf,这是按用户名来分的
独立配置里就可以写用户的文件夹了 |
21
kingofvir OP @omph 这个有了解过,但是我们的业务逻辑是,不同账号登陆我们平台,根据一个镜像启动多个 Windows 虚拟机,起来后这些 windows 的用户名都是相同的,唯一不同的就是 ip 地址,然后对这些 windows 挂载相应的文件
|
22
szpunk 2019-12-25 17:14:47 +08:00
NFS 挂载不能用管理员模式启动的 CMD,只能用普通权限的 CMD,否则不会出现盘符。
|
23
omph 2019-12-25 17:17:46 +08:00
config file = /etc/samba/win.%I.conf,按 IP 区分
samba 变量: %S = 当前服务名(如果有的话) %P = 当前服务的根目录(如果有的话) %u = 当前服务的用户名(如果有的话) %g = 当前用户说在的主工作组 %U = 当前对话的用户名 %G = 当前对话的用户的主工作组 %H = 当前服务的用户的 Home 目录 %v = Samba 服务的版本号。 %h = 运行 Samba 服务机器的主机名 %m = 客户机的 NETBIOS 名称 %L = 服务器的 NETBIOS 名称 %M = 客户机的主机名 %N = NIS 服务器名 %p = NIS 服务的 Home 目录 %R = 说采用的协议等级(值可以是 CORE, COREPLUS, LANMAN1, LANMAN2,NT1) %d = 当前服务进程的 ID %a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95 ) %I = 客户机的 IP %T = 当前日期和时间 |
26
kwgkkwgk 2019-12-25 17:23:32 +08:00 via iPhone
换个 server 版本的 windows
|
27
kingofvir OP 这个不太行...用户是一般的小白用户
|
28
msg7086 2019-12-25 20:19:33 +08:00 via Android
我猜你挂载用的身份和你查看用的身份不同。
挂载盘符是用户隔离的,意味着 A 用户挂载的网盘 B 用户是看不到的。同理管理员窗口下挂载的网盘,非提权环境也是看不到的。你看看 ssh 连上来以后是不是进入提权环境了? |
29
kingofvir OP @msg7086 这个考虑过,但是在 window 虚拟机(win10 企业版)中用管理员身份运行挂载也看不到盘符,而且用公司物理主机( win10 专业般)挂载也看不到盘符,明天试试 win7
|
30
maxwel1 2019-12-25 23:47:40 +08:00 via Android
Linux 上创建 FTP 服务,windows 去访问
|
31
tankren 2019-12-26 10:38:45 +08:00
bat 里面的%username%了解一下? Linux 下的目录名做到跟 win 登录账号用户名一致就行
|