如何在Linux下挂载windows/samba windows共享?

如何在Linux下挂载windows/samba windows共享?

在Linux(Ubuntu 12.04)下,我想挂载一个//winshared在网络上命名的Windows共享/Windows分区。我不知道IP或其他任何东西。

在一个 Ubuntu 系统上,我可以使用以下命令挂载一个目录

mount  //winshared/mypath /mnt/win

而在另一个 Ubuntu 系统上,完全相同的命令只是给出

mount error: could not resolve address for winshared: Unknown error

两个系统上的网络设置似乎相同,我安装了smbfssamba后者有错误)。我需要安装其他东西吗?我需要配置一些东西吗?如何找出两个系统之间的关键差异,以便在两个系统上获得相同的安装工作?

附加信息:

  1. 当我用来smbclient连接到 Windows 分区/共享/其他内容时,它可以在第一个系统上运行,但不能在另一个系统上运行。错误是:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. 下列的本教程我安装了smbfscifs-utils,但是mount上面的命令仍然给出相同的错误,这在教程中没有描述。

  3. /etc/fstab我也有读书的入口

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    如果该文件与/etc/samba/wincred系统上的同一文件相同,则挂载有效。两个文件的 md5sum 相同。因此,可以排除有关凭证的错误。

答案1

您可能遇到名称解析器问题(您可以通过从 Ubuntu 主机 ping 主机 winshared 来检查)或 smbfs 模块未加载。

您可能必须先使用 来安装 smbfs,apt-get -y install smbfs然后使用 来插入模块modprobe smbfs,但之后就可以使用 了mount -t smbs

您要找的是mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

答案2

我正在使用一个BeagleBone 黑色运行 Debian 4.9,由于存储容量有限,我需要安装 Windows 10 桌面上托管的远程文件夹。 (我知道从系统设计的角度来看,这可能不是最好的,但业务需求通常为此留下的空间很小。)因此,不得不即兴发挥,我想出了一个安装的远程文件夹。

在尝试挂载 Windows 10 共享文件夹时遇到了很多很多问题后,这是我的解决方案,以便其他人可以从我的经验中受益。

Windows 10“远程”主机

  1. 启用 SMB1.0/CIFS 文件共享支持Windows功能细节)。
  2. 启动Windows网络登录服务。
  3. 使能够分享在您要共享的文件夹上。

Debian Linux 客户端

  1. 安装支持包:smbclientcif-utils

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. 创建目标目录以挂载远程共享:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. 挂载远程文件夹:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    更新:将本地安装的 Debian 更新到版本 6.3 后,我的mount命令中断,要求我添加vers指定 SMB1 的选项:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

答案3

检查winbind是否安装;那么,在你的/etc/nsswitch.conf文件中,必须wins列出该hosts行。

就像是:

hosts: files wins dns

可能还会列出其他模块,具体取决于系统上安装的软件包。

答案4

您可以从下面的链接尝试 mountSMB 脚本。

它应该可以处理您想要实现的大部分目标

它将扫描子网并维护本地子网上或通过 nmblookup 不可用的服务器列表

https://github.com/huwpowell

相关内容