关于 Linux 和 Windows 的 nfs 挂载 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kingofvir
V2EX    Linux

关于 Linux 和 Windows 的 nfs 挂载

  •  
  •   kingofvir 2019-12-25 15:43:44 +08:00 7643 次点击
    这是一个创建于 2120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    业务需求需要挂载 linux 文件到 window 上, 查看相关文章后发现可用进行 nfs 挂载: https://blog.51cto.com/ixdba/920290

    但在我在命令行中执行挂载命令之后,并未出现 “网络位置”下的挂载盘符,实际手动设置“映射网络启动器”之后才会在“网络位置”下出现相应的挂载目录。

    但是我的操作是希望行云流水般自动化操作,开机-ssh 连接-命令行挂载目录,现在变成了:开机-ssh 连接-命令行挂载目录-手动映射网络启动器,

    请教各位懂 windows 的大佬,能否 1、在命令行执行 mount 之后直接显示相应的挂载数据 2、有无方法通过脚本、命令的形式设置“映射网络启动器”

    多谢各位

    31 条回复    2019-12-26 10:38:45 +08:00
    msg7086
        1
    msg7086  
       2019-12-25 15:57:17 +08:00 via Android
    嗯? mount 不是直接出盘符的吗。
    kingofvir
        2
    kingofvir  
    OP
       2019-12-25 15:57:57 +08:00
    @msg7086 因为出不了,所以我才疑问
    Linken404
        3
    Linken404  
       2019-12-25 16:11:27 +08:00
    我理解的是你在 linux 上面做了 nfs,然后在 windows 上面挂载这个 nfs

    如果我理解的没问题的话,那么直接 windows 下写个 bat 文件:
    net use z: \\[ip]:\[pwd] [password] /user:[user]
    然后把这个文件的快捷方式丢到启动文件夹里面不就行了
    kingofvir
        4
    kingofvir  
    OP
       2019-12-25 16:14:58 +08:00
    @Linken404 理解是没错,但是有个要求是:这些挂载目录都是动态的,我目前是等待 linux 启动后,用 ssh 连接 window ,执行动态的目录挂载
    geminikingfall
        5
    geminikingfall  
       2019-12-25 16:22:25 +08:00
    samba 不能用吗
    kingofvir
        6
    kingofvir  
    OP
       2019-12-25 16:34:47 +08:00
    @Linken404 我尝试了您的方式,以 ssh 远程连接 windows,在其命令行输入 net use U: \\192.168.3.111\mnt\disk2\project\user1 且显示 The command completed succssfully. 然后进入 powershell 能进入 U 盘符,ls 查看也能看到相应的文件,但是在 windows 界面上依然看不大 U 盘符
    Linken404
        7
    Linken404  
       2019-12-25 16:37:24 +08:00
    @kingofvir 动态的意思是 linux 需要重启,重启之后要挂载的目录路径会变吗?
    kingofvir
        8
    kingofvir  
    OP
       2019-12-25 16:38:31 +08:00
    @tyrantZhao samba 尝试过,但是我的需要是:windows 其实是虚拟机,每次起来之后需要按登陆的用户,挂载或者共享他对应的自己的文件夹,在我理解(初步看了下 samba 的 demo 设置) samba 是多人共享一个文件夹比较适合。或者请教下能否对 samba 设置:一台 windows 一个文件夹访问方式,如果可以的话,我在 windows 虚拟机起来后手动更新 samba 配置也是可以的
    kingofvir
        9
    kingofvir  
    OP
       2019-12-25 16:39:44 +08:00
    @Linken404 是按不同的用户起 windows 虚拟机,在 windows 虚拟机下挂载对应用户的个人文件
    Linken404
        10
    Linken404  
       2019-12-25 16:40:04 +08:00
    @kingofvir 我没试过 ssh 到 windows 之后进行命令行操作,你先试试直接在 windows 的 cmd 里面执行这条命令,如果成功应该是会显示盘符的。
    kingofvir
        11
    kingofvir  
    OP
       2019-12-25 16:40:28 +08:00
    @Linken404 上一个回复 “我目前是等待 linux 启动后” 错了,是“我目前是等待 windows 启动后”
    kingofvir
        12
    kingofvir  
    OP
       2019-12-25 16:45:35 +08:00
    @Linken404 我试了下也么有出盘符,这个“自动加载盘符”这个操作是否在 windows 下需要设置下? 我没怎么接触过 window 下的开发,所以不太懂
    Linken404
        13
    Linken404  
       2019-12-25 16:50:45 +08:00
    @kingofvir 如果 bat 执行后能看到盘符(以我平时的经历来看是肯定可以的),那么试试看能不能把流程变成:开机-ssh 连接-上传 bat 文件到 windows-本地或远程执行 bat 文件
    Linken404
        14
    Linken404  
       2019-12-25 16:52:05 +08:00
    @kingofvir 呃...这个问题我真没碰到过
    kingofvir
        15
    kingofvir  
    OP
       2019-12-25 16:54:45 +08:00
    @Linken404 其实如果能显示盘符,流程啥的都好办,烦就烦在他不显示,我的系统镜像是 Win10_1909_Chinese(Simplified)_x64.iso ,安装的时候选择的是专业版,但是未激活
    Linken404
        16
    Linken404  
       2019-12-25 16:55:48 +08:00
    @kingofvir 你检查一下语法,或者修改一下盘符,命令正常的话理论上是直接在我的电脑下面出现盘符的...网上查了一下也没有和你这种同样的情况,不在现场确实是没什么别的思路了
    Linken404
        17
    Linken404  
       2019-12-25 16:56:51 +08:00
    @kingofvir 激活试试,未激活有部分功能受限,我没在未激活的机器上测试过,有可能有联系
    kingofvir
        18
    kingofvir  
    OP
       2019-12-25 17:00:56 +08:00
    @Linken404 多谢,我再研究下
    kingofvir
        19
    kingofvir  
    OP
       2019-12-25 17:02:04 +08:00
    @Linken404 其实命令成功之后,进入 powershell 能进到 U 盘,ls 也能看到对应挂载下的文件,说明命令是正确的
    omph
        20
    omph  
       2019-12-25 17:03:03 +08:00
    samba 支持独立配置文件,如:config file = /etc/samba/win.%U.conf,这是按用户名来分的
    独立配置里就可以写用户的文件夹了
    kingofvir
        21
    kingofvir  
    OP
       2019-12-25 17:09:31 +08:00
    @omph 这个有了解过,但是我们的业务逻辑是,不同账号登陆我们平台,根据一个镜像启动多个 Windows 虚拟机,起来后这些 windows 的用户名都是相同的,唯一不同的就是 ip 地址,然后对这些 windows 挂载相应的文件
    szpunk
        22
    szpunk  
       2019-12-25 17:14:47 +08:00
    NFS 挂载不能用管理员模式启动的 CMD,只能用普通权限的 CMD,否则不会出现盘符。
    omph
        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 = 当前日期和时间
    kingofvir
        24
    kingofvir  
    OP
       2019-12-25 17:20:36 +08:00
    @szpunk 尝试过
    kingofvir
        25
    kingofvir  
    OP
       2019-12-25 17:21:30 +08:00
    @omph 多谢,尝试下
    kwgkkwgk
        26
    kwgkkwgk  
       2019-12-25 17:23:32 +08:00 via iPhone
    换个 server 版本的 windows
    kingofvir
        27
    kingofvir  
    OP
       2019-12-25 17:24:34 +08:00
    这个不太行...用户是一般的小白用户
    msg7086
        28
    msg7086  
       2019-12-25 20:19:33 +08:00 via Android
    我猜你挂载用的身份和你查看用的身份不同。
    挂载盘符是用户隔离的,意味着 A 用户挂载的网盘 B 用户是看不到的。同理管理员窗口下挂载的网盘,非提权环境也是看不到的。你看看 ssh 连上来以后是不是进入提权环境了?
    kingofvir
        29
    kingofvir  
    OP
       2019-12-25 21:01:50 +08:00
    @msg7086 这个考虑过,但是在 window 虚拟机(win10 企业版)中用管理员身份运行挂载也看不到盘符,而且用公司物理主机( win10 专业般)挂载也看不到盘符,明天试试 win7
    maxwel1
        30
    maxwel1  
       2019-12-25 23:47:40 +08:00 via Android
    Linux 上创建 FTP 服务,windows 去访问
    tankren
        31
    tankren  
       2019-12-26 10:38:45 +08:00
    bat 里面的%username%了解一下? Linux 下的目录名做到跟 win 登录账号用户名一致就行
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2980 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 14:18 PVG 22:18 LAX 07:18 JFK 10:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86