问题描述
我有一个用于开发的服务器(Ubuntu 12.04)。在那台机器上,我有一个名为”projects”的共享文件夹。我试过了
sudo mount -t smbfs smb://192.168.2.28/projects/myProject /mnt/myProject
在我的Ubuntu 11.10上得到了错误:
Mounting cifs URL not implemented yet. Attempt to mount smb://192.168.2.28/projects/myProject.
我该怎么做才能解决它?我需要挂载该文件夹以将其与NetBeans一起使用。
最佳解决办法
由于错误消息显示不支持CIFS URL(以smb://
开头),因此必须使用”classic”语法来标识服务器和共享。此外,您无法在共享中挂载文件夹,就像它是共享一样 – 您应该挂载共享,然后访问其中的文件夹。如有必要,您可以创建共享内部文件夹的符号链接。最后,当您运行smbmount
,mount -t smbfs
或类似的远程安装命令如root
(例如,使用sudo
)时,您需要在服务器上指定用户名(除非它实际上是root
,这不太可能,如果服务器运行Unix-like系统,不推荐)。
首先,您将为共享创建一个文件夹(挂载点):
sudo mkdir /mnt/projects
(假设您要在/mnt
中创建它。在/media
中创建所有不属于您的Ubuntu系统本身的全局可访问挂载点而不是/mnt
更常见,但如果您愿意,可以使用/mnt
。)
然后使用这样的命令来挂载共享:
sudo smbmount //192.168.2.28/projects /mnt/projects -o user=USERNAME
将USERNAME
替换为您需要登录的Samba服务器上的用户名。系统将提示您输入密码。您也可以在命令行上指定密码(使用-o password=PASSWORD
),但它将在终端中以明文形式显示,并将进入您的命令历史记录,因此您可能不希望这样做。
您会注意到我使用过smbmount
,但如果您愿意,mount -t smbfs
或mount -t cifs
(或mount.cifs
)也可以正常工作。
现在smb://192.168.2.28/projects
的内容可以在/mnt/projects
中访问。如果您需要能够访问/mnt/projects/myProject
中的smb://192.168.2.28/projects/myProject
的内容,您可以创建一个符号链接:
sudo ln -s /mnt/projects/myProject /mnt/myProject
对于Ubuntu 12.10及更高版本的读者:您必须使用mount.cifs
或mount -t cifs
(不再提供smbmount
和mount -t smbfs
)。需要cifs-utils包。这些命令也适用于早期的系统。
次佳解决办法
要永久安装SMB共享,请使用以下过程:
-
创建一个用于挂载共享的文件夹(例如/mnt /windows):
sudo mkdir [mount point]
-
更改其权限
sudo chown [username]:[username] [mount point]
-
创建一个包含域凭据的文件(我使用/home/[user]/.smbcredentials)
username=[domain user] password=[domain password] domain=[domain]
-
将以下行添加到/etc /fstab
//[smb hostname]/[share name]/ [mount point] cifs credentials=[credentials file path],rw,uid=[user],user 0 0
-
运行(仅一次,重启后这将自动发生)
sudo mount [mount point]
经测试可以在Ubuntu 12.10上运行