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

Alm*_*elo 41 mount samba cifs netbeans

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

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

在我的 Ubuntu 11.10 上出现错误:

挂载 cifs URL 尚未实现。尝试挂载 smb://192.168.2.28/projects/myProject。

我该怎么做才能解决它?我需要挂载该文​​件夹以将其与 NetBeans 一起使用。

Eli*_*gan 53

由于错误消息表示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

您会注意到,如果您愿意,我已经使用了smbmountbutmount -t smbfsmount -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包是必需的。这些命令也适用于较早的系统。

  • 在 Ubuntu 13.04 上,我必须先安装 cifs-utils:`sudo aptitude install cifs-utils`。之后,我能够使用以下语法挂载共享:`sudo mount -t cifs //server/share /mnt/` (5认同)

idd*_*ddo 22

要永久安装您的 SMB 共享,请使用以下过程:

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

    sudo mkdir [mount point]
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更改其权限

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

    username=[domain user]
    password=[domain password]
    domain=[domain]
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将以下行添加到/etc/fstab

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

    sudo mount [mount point]
    
    Run Code Online (Sandbox Code Playgroud)

经测试可在 Ubuntu 12.10 上运行