Samba:CIFS-实用程序

你好朋友!。 «Common I网际网路 F小号 System实用程序»或Internet文件系统的通用实用程序,将帮助我们在本地Linux文件系统上安装远程计算机上共享的CIFS网络资源。

埃尔帕克特 CIFS实用程序 在5.5-1之前的版本中是Samba Suite的一部分(请参阅 / usr / share / doc / cifs-utils / README) 这是Debian 7“ Wheezy”随附的文章,也是本文的基础。 当前,CIFS实用程序是与Samba分开的项目,并由Samba团队积极维护。

在继续之前,我们必须阅读该文章 桑巴舞:SmbClient 好吧,我们将参考它。 实际上,该职位是其延续。

我们会看到:

  • 安装和一些常识
  • 使用mount.cifs命令
  • 例如1
  • 例如2
  • 例如3
  • 总结

安装和一些常识

如果我们没有安装软件包 客户端 或与Samba套件相关的其他文件(安装时 cifs 实用程序 无论如何,他们还将:

  • 密钥实用程序:Linux密钥管理工具。 Keyutils是一组用于管理内核中密钥保留的工具,可以在文件系统,块设备和其他设备上使用这些工具来获取和保留执行安全操作所需的授权和加密密钥。
  • winbind的:后台程序,它将身份验证以及用户和/或组搜索机制从Active Directory集成到Linux系统。
  • libnss-winbind:插件给我们的软件包 nss_winbind,它与本地服务器集成 温宾德 提供用户名和组名的搜索。 它还为我们提供了插件 nss_wins,它通过NBNS(“ NetBIOS名称服务”)和NetBIOS广播协议提供对主机或计算机名称的搜索。
  • 桑巴舞 y 桑巴共宾:后条约 桑巴舞:SmbClient 在这个网站上。

软件包提供的实用程序或工具或命令 cifs 实用程序 是: cifscreds,getcifsacl,setcifsacl,cifs.upcall,cifs.idmap和mount.cifs。 出于实际目的,我们只会看到命令 挂载.cifs。 就我们所希望的而言,我们无法在这个问题上做文章。 那些想要或需要更深入的人,请执行 人命令.

使用mount.cifs命令

通常,我们将其调用为:

mount.cifs {服务} {安装点} [-o选项] mount -t cifs {服务} {安装点} [-o选项]

挂载.cifs 挂载Linux CIFS文件系统。 这是一个本地Linux命令,内核必须具有文件系统支持。 到岸价。 CIFS协议是SMB协议的后继协议,大多数Windows服务器和许多其他商业服务器以及“网络附加存储” NAS计算机都支持CIFS协议。 当然,开源Samba服务器完全支持它。

该实用程序 附加或安装 在远程服务器上共享(或导出)的网络资源,指定为 服务 使用语法 //服务器/资源 -其中“服务器”是共享所在的名称或IP地址,“资源”是共享的名称-到本地目录(将成为“挂载点”)。 在挂载资源之前,挂载点必须存在于我们的本地文件系统中。

选项 该命令的由一对用逗号,类型分隔的值对组成 键=值.

为了方便使用此实用程序,我们建议您在帖子中进行更改 桑巴舞:SmbClient 归档 /etc/samba/smb.conf 以设备为参考 miwheezy变种cu 没有连接到域。 还建议安装该软件包 客户端 (如果还没有)快速了解网络上的共享资源。 当然,我们可以通过Nautilus或我们使用的文件浏览器确定以上内容,只要它支持SMB / CIFS协议即可。

例如1

我们要挂载份额 // w2003 / Middle Earth 在本地文件夹中 /家/至强/兰 使用用户的凭证 皮平 属于域 老友记。 作为root用户或通过 须藤 我们执行:

xeon @ miwheezy:〜$ sudo mount.cifs // w2003 / Middle Earth / home / xeon / lan -o user=pipin@amigos.cu [sudo] xeon的密码:密码:

请注意,首先要求我们输入本地用户的密码 至强@ miwheezy,然后是远程用户 pipin@amigos.cu。 当然,除非我们有我们的团队加入该域,并且我们已经以本地身份登录到Debian,否则我们必须知道这一点。 皮平。 我们将在以后的文章中看到这种情况。

我们还必须创建文件夹 局域网 (/家/至强/兰),然后再调用命令。 如果没有,我们可以指示挂载点将是目录 到/ mnt,如果我们没有在该通用目录中挂载其他资源。

让我们感到好奇,在挂载远程共享的本地目录中列出文件,我们将看到文件夹和文件的用户和组所有者是 。 这意味着我们将只有读取权限。 看看这个。

对于某些人来说,很难理解以上内容,但正是这些细节突出了 UNIX / Linux文件系统的功能和安全性.

  • 我们已经能够插入我们的分层文件结构中 /,不是 ext3 o ext4,当我们挂载文件系统时发生 NTFS, 脂肪FAT32 在我们的Debian团队中。 我们在不观察其本质的情况下所做的正常操作。
  • 装入远程资源后,我们可以将其文件夹和文件视为本地。
  • 不需要字母或类似的东西来引用远程资源。
  • 我们不需要将Linux加入Windows域。 我们只需要该域中的用户帐户即可访问我们的用户拥有权限的共享资源。 这也可以从Windows客户端完成。 好的?。

例如2

我们要挂载份额 // w2003 / Middle Earth 在本地文件夹中 /家/至强/兰 使用用户的凭证 皮平 属于域 老友记。 我们还需要访问具有读写权限的文件,并且所有者是我们登录所通过的本地用户,并且在我们的示例中是 至强:

xeon @ miwheezy:〜$ sudo mount.cifs //w2003.amigos.cu/tierramedia / home / xeon / lan -o用户= pipin,uid = xeon,forceuid

让我们再次感到好奇并列出文件夹 局域网。 现在所有者是 至强 小组仍然 。 我们不需要告诉 挂载.cifs 选项 rw 具有读/写访问权限。 UNIX / Linux文件系统中固有的权限可以确保这一点。 我们可以通过创建和删除目录来检查它; 修改现有文件,等等。

例如3

每次本地计算机启动时,我们都想挂载共享 // w2003 / Middle Earth 在本地文件夹中 /家/至强/兰 使用用户的凭证 皮平 属于域 老友记。 我们还需要访问具有读写权限的文件,并且所有者是我们登录所通过的本地用户,并且在我们的示例中是 至强

一个简单的解决方案是在目录中创建脚本 /etc/init.d中,赋予它执行权限,并将其包含在启动时运行的程序中。 作为用户 我们执行:

 纳米/etc/init.d/monta-tierramedia.sh

并将以下内容添加到新创建的启动脚本中:

#! / bin / sh ### BEGIN INIT INFO#提供:在/ home / xeon / lan中装载远程资源// w2003 /中间地球#必需开始:$ local_fs $ syslog#必需停止:$ local_fs $ syslog#默认开始:2 3 4 5#默认-停止:0 1 6#简短描述:安装远程资源### END INIT INFO mount.cifs //10.10.10.30/tierramedia / home / xeon / lan \ -o user = pipin ,密码=密码,uid =至强,gid =至强,\ forceuid,forcegid

稍后,我们授予脚本执行权限,并将其包括在启动脚本中。 作为用户 我们执行:

chmod u + x或ox /etc/init.d/monta-tierramedia.sh update-rc.d monta-tierramedia.sh默认

如果我们正确执行了所有操作,则不应收到任何错误消息。 要检查脚本的语法是否正确,我们手动执行它,并且也不应收到任何错误消息。 作为用户 我们执行:

/etc/init.d/mountain-middleland.sh

总结

我们可以写很多例子,但这不是我们的目标。 我们必须从简单到复杂,这篇文章是 入口点 主题。 我们的文章基于手册页或 手册页 以及每个包装的随附文档中。 我们尝试提供与WWW村中大多数文章不同的内容或对它们的补充。

如果要在Microsoft网络,SMB / CIFS和Samba上使用免费软件,则必须至少阅读!!!。 否则,我们将遭受基本不了解的后果。

一个免费提示:如果我们可以很容易地实现它们,为什么要使事情变得困难?

现在,活动结束了,朋友们!


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   埃里克

    我必须说的很好,好朋友正在扩展此信息,因为samba对许多人来说都是一团糟,

    1.    费德里科·安东尼奥·瓦尔德斯·图亚格

      感谢您评论埃里克! 如果您观察到,我们采用的方法与通常的方法略有不同,因此读者可以更好地理解Samba主题。 如果您阅读了到目前为止发布的四篇文章,它将会“解散”。 🙂

  2.   安迪

    您也可以在开头通过在fstab文件中包含一行来使用samba / cifs挂载共享。 像这样:

    //(ip或samba服务器的名称)/(共享资源)/(要挂载的目录)cifs凭据= /(具有用户名和密码的文件的路径),uid =(此计算机上将要使用的用户ID拥有文件),gid =(与之前相同,但对于组),iocharset = utf8,自动0 0

    iocharset = utf8显然是用于文件的编码。
    auto是在启动时自动挂载。 如果我们不希望这样做,则必须设置no-auto,但是在这种情况下,只有root可以挂载文件系统。 如果我们希望任何用户都能够挂载共享资源,则应在最后放置选项“用户”。

    除了凭据选项,您还可以使用自己的用户名和密码。 问题在于,在计算机上拥有帐户的任何人都可以知道用于挂载的用户名和密码。 另一方面,如果用户名和密码位于单独的文件中,则可以授予该文件限制性的权限,这样即使不是root用户,也没人知道用户名和密码。

    凭证文件中有两行:

    用户名=(用户名)
    密码=(密码)

    对于您的示例,fstab行将为:

    //10.10.10.30/tierramedia / home / xeon / lan cifs凭据= / etc /凭据,uid = xeon,gid = xeon,iocharset = utf8,自动0 0

    并在/ etc /凭据文件中:

    用户名= pipin
    密码=密码

    我们将把这个文件作为根用户和组,并且只有文件的所有者才具有读取权限。

    简单快捷,是最推荐的选择。

    1.    拉斐尔

      我是Windows域中的OpenSUSE用户,我在fstab中安装了连接,但是,尽管将_netdev作为参数,但由于网络无法按时启动,它最终无法启动,因此我不得不稍后强制安装。

      但是,使用本文中的脚本,我可以在启动KDE后将其挂载,看看它是否有效...

      问候

    2.    阿尔瓦罗·加西亚·布鲁斯

      安迪如果资源命名为“中土而不是中土”怎么办? 我尝试根据您提到的选项运行该示例。 使用Middle Earth,它可以顺利安装,但是使用Middle Earth,它会在fstab的那一行向我发送错误。 如果由于某种原因无法更改文件夹名称,该如何解决?

      1.    安迪

        请注意,共享名称不必与文件夹名称相同。 也许这就是您解决的方法。

        否则,您总是可以使用反斜杠转义共享资源空间,而将其留为中间地带。 让我记得我从未在fstab中对其进行测试,但是它应该可以工作。

  3.   安迪

    在您的示例中,您还可以更改凭据文件的用户和密码:

    mount.cifs //10.10.10.30/tierramedia / home / xeon / lan
    -o凭证= / etc /凭证,uid =至强,gid =至强,
    Forceuid,forcegid

  4.   费德里科·安东尼奥·瓦尔德斯·图亚格

    非常感谢您的评论和贡献,@ andye !!!。 我知道可以在fstab中声明安装,因此每次启动系统时都将其安装。 就我个人而言,我更喜欢一种不接触/ etc / fstab文件的解决方案,这就是为什么我举了这个简单的例子。 它还回答了有关在Squeeze和Wheezy中的简单任务中如何带头启动脚本的问题。

    1.    凯撒大帝

      祝您工作愉快,我的伴侣继续做出良好的贡献,问候Freeke

      1.    费德里科·安东尼奥·瓦尔德斯·图亚格

        感谢您的评论,弗里克! 下一篇文章将介绍如何实现Samba Standalone服务器。

  5.   佩珀

    与Debian的朋友我有以下问题:

    sudo mount.cifs //192.168.6.2/存档/ home / pepo / backupA1330 / mntCentro -o用户= myuser,密码= myipassword

    安装错误(5):输入/输出错误
    请参考mount.cifs(8)手册页(例如man mount.cifs)

    这已经发生了一段时间,现在我必须使用图形环境,因为使用Dolphin可以毫无问题地使用smb://192.168.6.2/Archive

  6.   费德里科·安东尼奥·瓦尔德斯·图亚格

    问候佩珀! 我个人从未收到该错误消息。 尝试通过打开控制台并以root tail -f / var / log / syslog身份执行来读取内核消息,而在另一个控制台中,执行mount.cifs命令……以查看是否有更多可以指导您的数据。 成功案例

    1.    佩珀

      HELLO,以下是我得到的日志(/ var / log / syslog):

      6月20日34:05:74531.103307平均数内核:[XNUMX] FS缓存:Netfs'cifs'已注册用于缓存
      6月20日34:05:74531.103411平均数内核:[XNUMX]已注册密钥类型cifs.spnego
      6月20日34:05:74531.103441平均数内核:[XNUMX]已注册密钥类型cifs.idmap
      6月20日34:06:74532.602462平均数内核:[5] CIFS VFS:SessSetup = -XNUMX中发送错误
      6月20日34:06:74532.602768平均数内核:[5] CIFS VFS:使用返回代码= -XNUMX的cifs_mount失败

  7.   加布

    非常感谢您的此类贡献 desdelinux 他们非常有帮助,感谢像您这样的人,我们向 Linux 的广泛领域敞开了大门……。谢谢你们…

    1.    费德里科

      感谢您评论@gabux。 很高兴您正在进入Linux!

      1.    加布

        不,真的谢谢你费德里科和他的公司(desdelinux),每天和你一起学到更多,事实是,在Linux这个广阔的领域里,我感觉自己像一只小蚱蜢...... 😀

  8.   萨尔维奥·纳瓦罗(Sarvelio Navarro)

    早上好,我阅读了这篇文章,它非常有趣且完整,我澄清了一些疑问,但是,如果我必须访问连接到域的计算机的共享文件夹,该怎么办仍然在我脑海中嗡嗡作响,要添加的参数,该参数将附加在用户参数中

  9.   萨尔维奥·纳瓦罗(Sarvelio Navarro)

    TKS

  10.   拉斐尔

    在激怒了我的头之后,为了避免不得不手动做任何事情,我的建议是使用“ smb4k”(KDE的高级网络邻居浏览器),该软件允许您从窗口环境Samba装载和访问服务器上的资源。 。 如果我们使用便携式计算机并插入具有samba资源的网络,它甚至可以选择,当便携式计算机进入挂起模式或休眠状态时,该网络会自动安装和卸载它们。

  11.   哈维尔·埃雷拉(Javier Herrera)

    问候,出色的帖子,对我有很大帮助,但是我想走得更远...我想挂载共享资源而不必写密码。 我解释环境

    共享位于具有活动目录的Windows服务器上
    CENTOS是活动目录的成员
    我登录centos的用户是在Windows活动目录中创建的用户
    活动目录服务器上的共享文件夹由我登录时所拥有的用户拥有