如何以非root用户身份挂载Samba共享


14

是否有循序渐进的教程详细说明了如何在Ubuntu 10.04桌面上安装要由非root用户使用的Samba共享?

注意:Google搜索上有许多线程处理这个看似新的问题。以前在Ubuntu 8.04(或较旧版本的smbfs)上可用的说明不再起作用。

我需要找到最新且可复制的内容。

Answers:


13

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中的选项,并浏览中的FAQ文件/usr/share/doc/smbnetfs


+1了解详细步骤。我希望这可以在Eclipse中使用,因为在gvfs中,Eclipse绝对不起作用。您是否知道SMBnetFS与smbfs有何不同?
Android前夕

2
SMBNetFS使用保险丝。确保用户在fuse组中。
塔卡特2011年

再次+1!gfvs也不会使用FUSE吗?它与我的GNOME桌面已经预打包(gvfs)有什么不同?
Android Eve

8

使用gnome时,您只需将smb://网址键入Nautilus。通常,应该安装gvfs-fuse和其他gvfs软件包,以便您可以使用文件浏览器直接安装samba。另外,您应该在〜/ .gvfs文件夹中找到所有已挂载的内容。这甚至可以与其他协议和压缩文件等一起使用。

gvfs-mount smb://user@server/storage

我已经使用eclipse和其他工具对其进行了测试,并且可以正常工作。必须安装gvfs-fuse。


谢谢,但是Eclipse无法使用它。我已经尝试过了,这就是为什么我要特别询问smbmount(smbfs软件包中的mount.cifs的符号链接)的原因。
Android Eve

2
因此,eclipse无法在您的主目录中访问.gvfs?据我所知,每个程序都应该能够做到这一点。如果我错了纠正我。
matthias.lukaszek,

2

man mount将帮助您确定所需的选项。如果Windows系统将始终可用。您只需将安装添加到中/etc/fstab,它将被安装。您可以使用选项允许用户根据需要安装和卸载分区user,noauto。要允许其他人卸下它,请更改userusers

Autofs还支持使用samba的按需挂载。提示取决于您要在何时挂载哪个目录。我已经在开发环境中成功运行了它。

编辑:如果您需要为许多用户执行此操作,我建议使用autofs进行安装。这不需要更改fstab。获取各个用户的凭证可能是一个问题。我在/net/$HOST/$USER挂载中使用目录结构形式。将Autofs配置为/net/$HOST安装的一部分,并根据需要自动安装其下的目录。

特定的安装方法取决于您的需求。在某些情况下,用户需要将其Desktop目录安装在服务器上,尽管典型的安装是基于服务器的。

对于拥有大量用户的大型组织,将目录移至Linux服务器并使用Samba与Windows用户共享文件可能是有意义的。我还没有尝试过相反的操作,但是有可能。


这可行,但是您需要root用户访问权才能更改fstab。即使是root用户,请注意,如果必须为许多用户安装每个用户都需要特定的共享(例如在大型组织中,每个用户在集中式文件服务器中都有个人共享),则这是非常不切实际的。

0

我在研究我最近为我的一个用户执行此操作的魔术时发现了这个问题。我的工作流程与其他答案截然不同。请注意,但这是最简单的情况。

假设您的用户名是,ae而您的家是/home/ae

1)设置smbfs:
mkdir /home/ae/.smb

1a)如果需要Windows登录凭据,请创建并编辑文件:/home/ae/.smb/smbnetfs.conf以包含以下内容:

auth winuser "winpassword"

winuser是您要访问的Windows计算机上创建的用户。winpassword是该用户在该计算机上登录Windows的密码。

2)创建安装点:
mkdir /home/ae/nethood

3)执行smbnetfs命令:
smbnetfs /home/ae/nethood


请注意,整个“网络邻居”将显示在下面/home/ae/nethood,而工作组是子目录的第一层。

下面的所有清单都是从我在ubuntu主机上以非特权用户的身份浏览文件夹时复制的。用户名和组已更改为aesudo从来没有使用过。Windows计算机在非正式Windows网络上,共享文件夹受用户/密码保护(在Windows计算机上,使用Windows用户名和密码)。

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

浏览工作组WORKGROUP

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

将目录更改为计算机,所有共享文件夹将被正常列出并访问。

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

和文件:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

注意上面的目录拥有所有权root root。文件所有权将与您的用户相同。

无论安装点或该文件夹的所有权或权限,其他任何用户都无法访问该文件夹。如果您的用户可以“写入”该文件夹(该文件夹为空),则smbnetfs会将网络邻居安装在该文件夹中,甚至不允许其他人访问root。要root访问,您必须su ae


如果没有共享文件夹,则计算机的目录将为空。

如果您没有Windows计算机的凭据,则可能会收到错误消息:
ls: cannot open directory .: Input/output error

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.