在我的网络上,我有一台 Windows 8 笔记本电脑和一台运行 12.10 的 Ubuntu 服务器。我可以从我的 Windows 8 笔记本电脑连接到 Ubuntu 文件共享,没有任何问题。
问题:如何从我的 Ubuntu 服务器连接和挂载 Windows 文件共享?
这一定是可能的,因为我可以从 Windows 8 连接到 Ubuntu Share。
答案1
Ubuntu 和 Gnome 可以轻松访问 Windows 网络共享上的文件。
打开地点菜单,然后点击网络。您将看到一个 Windows 网络图标。双击打开它。下一个窗口显示网络上找到的所有域/工作组。在每个域/工作组内,您将看到域/工作组中启用共享的所有计算机。双击计算机图标以访问其共享和文件。
如果您只想从命令行执行此操作:
sudo apt-get install samba smbclient
要使用 SMB 挂载 Windows 文件系统,您还需要 smbfs。输入命令:
sudo apt-get install smbfs
从命令行连接类似于 FTP 连接。
使用以下方式列出公共 SMB 共享
smbclient -L //server -U user
使用以下方式连接到 SMB 共享
smbclient //server/share -U user
输入您的用户密码。您可以直接连接
smbclient //server/share -U user%password
但您的密码将显示在屏幕上(不太安全)。
一旦连接,您将收到如下提示:
smb: \>
在提示符下输入“help”(不带引号)以获取可用命令列表。
如果要挂载 Windows 共享,您需要
sudo apt-get install smbfs
然后是这样的:
mkdir ~/mnt
sudo mount -t cifs //myserver_ip_address/myshare ~/mnt -o username=samb_user,noexec
答案2
samba服务允许linux机器连接到windows机器。
以下是关于这个主题的众多文章中的一篇:
http://www.howtogeek.com/howto/29167/3-easy-ways-to-connect-to-windows-shared-folders-from-linux/
答案3
我强烈建议你使用 Autofs挂载 Windows 共享。与 smbclient 或将 cifs 挂载添加到 fstab 相比,这具有许多优势。Autofs 可以容忍重新启动,空闲时断开连接,按需自动重新连接,并且在用户级别完全透明。试一试。
这是一个示例设置。
自动主机管理工具
# bunch of comments
/cifs auto.cifs --ghost
+auto.master
/etc/auto.cifs
mntpoint -fstype=cifs,username=winuser,password=winpass,file_mode=0666,dir_mode=0777 ://winpc/share
重新启动autofs
服务后,您将拥有一个新目录/cifs
。您不必创建它。创建它,或者如果已经存在,则销毁然后创建。(因此,不要尝试在文件中autofs
创建 autofs 根目录)。/media
auto.master
通常情况下,当您 时ls /cifs
,它会显示为空。导航到/cifs/mntpoint
将触发自动挂载并显示丢失的挂载。但是,该--ghost
选项使挂载点保持可见,即使没有安装。
或者,你可以将其作为/etc/auto.cifs:
* -fstype=cifs,username=winuser,password=winpass,file_mode=0666,dir_mode=0777 ://winpc/&
这种通配符表示法使得每个共享都可以通过winpc
导航到 自动挂载,而/cifs/sharename
无需在 中明确定义每个共享auto.cifs
。这使您可以灵活地在 Windows 计算机上随意创建和销毁共享,而无需在 Linux 计算机上进行任何更改。
不过,这会使--ghost
选项变得毫无用处,因此ls /cifs
当 cifs 挂载尚未触发时,它仍然会显示为空。您要么必须记住共享名称,要么使用以下命令创建符号链接
ln -s /cifs/sharename ~/sharename
或类似的东西。
请注意,在这两个例子中自动 CIFSfile_mode
和选项dir_mode
。这些是应用于 cifs 安装资源的文件和文件夹的权限。它们会向所有人授予读写权限。如果您希望稍微提高一点安全性,那么:
在您的工作站上创建一个名为“net”的组:
groupadd net
将帐户添加到该组:
usermod -a -G net username
在自动 CIFS添加
uid=root,gid=net
在自动 CIFS改变
file_mode=0660,dir_mode=0770
此外,如果你要将网络共享用户名和密码存储在自动 CIFS不要忘记chmod 600 /etc/auto.cifs
防止非root用户读取它。
答案4
要从 Ubuntu 12.10 安装,您需要 cifs-utils 包。
然后以root权限:
mount.cifs //主机名/UbuntuTest /mnt/remote -o 用户名=smbuser
您也可以通过 fstab 挂载(我建议使用包含用户名和密码的凭证文件):
//主机名/UbuntuTest/mnt/远程 cifs 凭据=/home/smbuser/credentials 0 0
当然“smbuser”必须是一个有效的活动Windows帐户。