AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 24348
Accepted
Android Eve
Android Eve
Asked: 2011-02-02 10:33:02 +0800 CST2011-02-02 10:33:02 +0800 CST 2011-02-02 10:33:02 +0800 CST

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

  • 772

是否有分步教程详细说明如何在 Ubuntu 10.04 桌面上smbmount 供非 root用户使用的 Samba 共享?

注意:谷歌搜索上有很多线程处理这个看似新的问题。以前在 Ubuntu 8.04(或旧版本的 smbfs)上运行的指令不再起作用。

我需要找到最新且可重现的东西。

mount
  • 6 6 个回答
  • 94727 Views

6 个回答

  • Voted
  1. Best Answer
    Takkat
    2011-02-02T14:39:22+08:002011-02-02T14:39:22+08:00

    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。

    • 13
  2. matthias.lukaszek
    2011-02-02T14:27:33+08:002011-02-02T14:27:33+08:00

    使用 gnome 时,您只需在 Nautilus 中输入 smb:// url。一般要安装gvfs-fuse等gvfs包,这样就可以直接用文件浏览器挂载samba了。此外,您应该在 ~/.gvfs 文件夹中找到所有已安装的内容。这甚至适用于其他协议和压缩文件等。

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

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

    • 9
  3. BillThor
    2011-02-02T19:23:18+08:002011-02-02T19:23:18+08:00

    man mount将帮助您确定所需的选项。如果windows系统永远可用。您只需将挂载添加到/etc/fstab,它就会被挂载。您可以使用选项允许用户根据需要挂载和卸载分区user,noauto。要允许其他人卸载它,请更改user为users.

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

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

    具体的安装方法取决于您的需求。我遇到过用户需要将其桌面目录安装在服务器上的情况,尽管典型的安装是基于服务器的。

    对于拥有大量用户的大型组织,将目录移动到 Linux 服务器并使用 Samba 将文件共享给 Windows 用户可能是有意义的。我没有尝试相反的方法,但它可能是可能的。

    • 2
  4. almaceleste
    2022-05-03T07:52:07+08:002022-05-03T07:52:07+08:00

    2022年

    如果需要在本地挂载远程 smb 共享,可以使用gio工具包。如果您想在文件管理器中查看远程共享,这并不方便,但它在编写脚本时非常有用。

    gio mount --anonymous "smb://servername/share"
    gio copy --progress "smb://servername/share/filename.ext" /local/folder/
    gio mount --unmount "smb://servername/share"
    

    gio不需要超级用户权限,可以正常读取带空格的引号字符串,并且可以使用西里尔字符。

    在 Ubuntu 22.04gio中默认安装。

    • 2
  5. Krista K
    2015-07-29T14:16:59+08:002015-07-29T14:16:59+08:00

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

    假设您的用户名是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 主机上的非特权用户浏览文件夹时复制的。用户名和组更改为ae。sudo从未使用过。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

    • 1
  6. Jai Jeffryes
    2021-10-16T05:51:56+08:002021-10-16T05:51:56+08:00

    在 Ubuntu 中,我根据这篇文章使用了包 cifs-utils:如何在 Ubuntu Linux 中挂载 Samba 共享。

    我想在我的主目录下有一个挂载点。它适用于非媒体文件。我在 /etc/fstab 中创建了一个条目。但是,它归 root 所有,我无法在该位置进行编辑。

    答案在 mount.cifs 的手册页中。我在 fstab 中添加了选项 uid=MyUserName。我在 cifs 客户端上的用户名与 cifs 主机上的用户名相同。我不知道这是否是一个要求,但它工作。

    • 1

相关问题

  • 如何挂载 ISO?

  • 将 USB 磁盘挂载到永久位置

  • 修复 USB 驱动器自动通知

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • 当另一个文件系统安装在路径上时是否可以删除文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve