当我尝试挂载samba共享时,“尚未安装cifs URL”


38

我有一个用于开发的服务器(Ubuntu 12.04)。在那台机器上,我有一个名为“ projects”的共享文件夹。我试过了

sudo mount -t smbfs smb://192.168.2.28/projects/myProject /mnt/myProject

在我的Ubuntu 11.10上出现错误:

尚未安装挂载CIF URL。尝试挂载smb://192.168.2.28/projects/myProject。

我该怎么解决?我需要安装该文件夹才能与NetBeans一起使用。


听起来好像尚未设置samba服务器(192.168.2.28)或没有打开正确的端口来允许其连接。您可以运行以下命令来确保您看到正确的端口可用于samba连接

@ruffEdgz该问题与服务器无关;在执行任何网络操作之前​​,会出现此错误消息。有关详细信息,请参见我的答案。
伊利亚·卡根

很高兴知道。还不需要在笔记本电脑上执行此操作,因此我必须确保它可以在我当前的Samba服务器上运行;)
ruffEdgz 2012年

Answers:


48

由于错误消息表明smb://不支持CIFS URL(以开头),因此您必须使用“经典”语法来标识服务器并共享。此外,您不能像共享一样在文件夹挂载文件夹-您应该挂载该共享,然后访问其中的文件夹。如有必要,您可以建立指向共享内部文件夹的符号链接。最后,在运行smbmountmount -t smbfs或类似的远程挂载命令root(例如使用sudo)时,需要在服务器上指定用户名(除非实际上是root,否则不太可能;如果服务器运行的是类似Unix的系统,则不需要推荐的)。

因此,首先,您将为共享创建一个文件夹(挂载点):

sudo mkdir /mnt/projects

(这是假设您要在其中创建它/mnt。创建不属于Ubuntu系统本身一部分的所有全局可访问挂载点已变得越来越普遍/media/mnt/mnt如果愿意,可以使用。)

然后使用如下命令安装共享:

sudo smbmount //192.168.2.28/projects /mnt/projects -o user=USERNAME

替换USERNAME为您需要登录的Samba服务器上的用户名。系统将提示您输入密码。您也可以在命令行(使用)指定密码,但是密码将以明文形式显示在终端中,并且会进入您的命令历史记录,因此您可能不想这样做。-o password=PASSWORD

您会注意到我已经使用过,smbmount但是如果您愿意的话,mount -t smbfsor或mount -t cifs(或mount.cifs)应该也能正常工作。

现在smb://192.168.2.28/projects的内容可以在中访问/mnt/projects。如果需要访问smb://192.168.2.28/projects/myProjectin 的内容/mnt/projects/myProject,则可以创建一个符号链接:

sudo ln -s /mnt/projects/myProject /mnt/myProject

对于Ubuntu 12.10及更高版本的读者:您必须使用mount.cifsmount -t cifssmbmount并且mount -t smbfs不再提供)。的CIFS-utils的 安装cifs-utils包装是必需的。这些命令也可以在较早的系统上使用。


4
在Ubuntu 13.04我必须首先安装CIFS-utils的:sudo aptitude install cifs-utils。之后,我可以使用以下语法安装共享:sudo mount -t cifs //server/share /mnt/
Gerald Schneider

@GeraldSchneider谢谢,我已经在答案中提到了这一点。
伊利亚·卡根

与我一起在VirtualBox的Kubuntu 13.04中安装Windows 7(主机)文件夹(使用仅主机适配器)。
Mohamad Fakih

21

为了永久挂载您的SMB共享,​​请使用以下过程:

  1. 创建一个用于安装共享的文件夹(例如/ mnt / windows):

    sudo mkdir [mount point]
    
  2. 更改其权限

    sudo chown [username]:[username] [mount point]
    
  3. 创建一个包含您的凭据的文件(我使用/home/[user]/.smbcredentials

    username=[domain user]
    password=[domain password]
    domain=[domain]
    
  4. 将以下行添加到/ etc / fstab

    //[smb hostname]/[share name]/        [mount point]  cifs        credentials=[credentials file path],rw,uid=[user],user       0       0
    
  5. 运行(仅一次,重新启动时将自动发生)

    sudo mount [mount point]
    

经测试可在Ubuntu 12.10上运行


最适合我的是:echo //192.168.1.1/c$/ /mnt/c cifs credentials=/home/user/.smbcredentials,rw,uid=1001,gid=1001,user 0 0 | sudo tee -a /etc/fstab。然后坐骑,我跑了:sudo mount /mnt/c
罗斯·史密斯二世

1

虽然接受的答案是正确的,但是您现在可以在3个软件包的帮助下在samba共享中安装文件夹:

samba-client
samba-common
cifs-utils

这些是CentOS基本的回购软件包(对不起,不再是Ubuntu用户,因此无法检查),但是我相信Ubuntu也有类似的东西。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.