是否有分步教程详细说明如何在 Ubuntu 10.04 桌面上smbmount 供非 root用户使用的 Samba 共享?
注意:谷歌搜索上有很多线程处理这个看似新的问题。以前在 Ubuntu 8.04(或旧版本的 smbfs)上运行的指令不再起作用。
我需要找到最新且可重现的东西。
是否有分步教程详细说明如何在 Ubuntu 10.04 桌面上smbmount 供非 root用户使用的 Samba 共享?
注意:谷歌搜索上有很多线程处理这个看似新的问题。以前在 Ubuntu 8.04(或旧版本的 smbfs)上运行的指令不再起作用。
我需要找到最新且可重现的东西。
SMBNetFS是一个非常好的工具,可以轻松地将您的 samba 共享挂载到您的主文件夹中。使用此工具,您几乎可以通过家中的挂载点访问所有应用程序的 samba 共享。
如何使用 SMBnetFS:
cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf
复制标准配置cp /etc/samba/smb.conf ~/.smb/smb.conf
复制 samba 配置mkdir ~/sambashare
或挂载点的任何其他名称smbnetfs ~/sambashare
将共享挂载到挂载点不幸的是,只有很少的文档可用。查看
man smbnetfs
选项并浏览 中的常见问题解答文件/usr/share/doc/smbnetfs
。使用 gnome 时,您只需在 Nautilus 中输入 smb:// url。一般要安装gvfs-fuse等gvfs包,这样就可以直接用文件浏览器挂载samba了。此外,您应该在 ~/.gvfs 文件夹中找到所有已安装的内容。这甚至适用于其他协议和压缩文件等。
我已经使用 eclipse 和其他工具对其进行了测试,并且可以正常工作。必须安装 gvfs-fuse。
man mount
将帮助您确定所需的选项。如果windows系统永远可用。您只需将挂载添加到/etc/fstab
,它就会被挂载。您可以使用选项允许用户根据需要挂载和卸载分区user,noauto
。要允许其他人卸载它,请更改user
为users
.Autofs 还支持使用 samba 按需挂载。咒语取决于您要在何时挂载的目录。我已经在开发环境中成功运行了它。
编辑:如果您需要为很多用户执行此操作,我建议使用 autofs 进行安装。这不需要更改 fstab。获取各种用户的凭据可能是个问题。
/net/$HOST/$USER
我为我的挂载使用了一个目录结构。Autofs 为/net/$HOST
挂载部分配置,并根据需要自动挂载其下的目录。具体的安装方法取决于您的需求。我遇到过用户需要将其桌面目录安装在服务器上的情况,尽管典型的安装是基于服务器的。
对于拥有大量用户的大型组织,将目录移动到 Linux 服务器并使用 Samba 将文件共享给 Windows 用户可能是有意义的。我没有尝试相反的方法,但它可能是可能的。
2022年
如果需要在本地挂载远程 smb 共享,可以使用
gio
工具包。如果您想在文件管理器中查看远程共享,这并不方便,但它在编写脚本时非常有用。gio
不需要超级用户权限,可以正常读取带空格的引号字符串,并且可以使用西里尔字符。在 Ubuntu 22.04
gio
中默认安装。我在研究我最近为我的一个用户执行的魔术时发现了这个问题。我的工作流程与其他答案显着不同。但是请注意,这可能是最简单的情况。
假设您的用户名是
ae
并且您的家是/home/ae
1)设置smbfs:
mkdir /home/ae/.smb
1a) 如果需要 Windows 登录凭据,请创建并编辑文件:
/home/ae/.smb/smbnetfs.conf
以包含以下内容:winuser
是在您希望访问的 Windows 计算机上创建的用户。winpassword
是该用户在该计算机上登录 Windows 的密码。2)创建您的挂载点:
mkdir /home/ae/nethood
3)执行smbnetfs命令:
smbnetfs /home/ae/nethood
请注意,整个“网络邻居”将显示在下面
/home/ae/nethood
,工作组是子目录的第一层。下面的所有列表都是从我作为 ubuntu 主机上的非特权用户浏览文件夹时复制的。用户名和组更改为
ae
。sudo
从未使用过。Windows 计算机位于非正式 Windows 网络上,共享文件夹受用户/密码保护(在 Windows 计算机上使用 Windows 用户名和密码)。浏览工作组
WORKGROUP
:将目录更改为计算机,任何共享文件夹都将被列出并正常访问。
和文件:
注意上面的目录有所有权
root root
。文件所有权将与您的用户相同。无论挂载点或该文件夹的所有权或权限如何,其他用户都无法访问这些文件夹。如果您的用户可以“写入”该文件夹(并且它是空的),smbnetfs 将在那里挂载网络邻居并且不允许其他任何人访问,即使
root
. 要root
获得访问权限,您必须su ae
.如果没有共享文件夹,则计算机的目录将为空。
如果您没有 Windows 计算机的凭据,您可能会收到错误消息:
ls: cannot open directory .: Input/output error
在 Ubuntu 中,我根据这篇文章使用了包 cifs-utils:如何在 Ubuntu Linux 中挂载 Samba 共享。
我想在我的主目录下有一个挂载点。它适用于非媒体文件。我在 /etc/fstab 中创建了一个条目。但是,它归 root 所有,我无法在该位置进行编辑。
答案在 mount.cifs 的手册页中。我在 fstab 中添加了选项 uid=MyUserName。我在 cifs 客户端上的用户名与 cifs 主机上的用户名相同。我不知道这是否是一个要求,但它工作。