板香组何仕勇 發表於 2023-12-2 00:00:00

Linux下配置Samba服务器跨平台共享文件

<p>
        <img title="Linux下配置Samba服务器跨平台共享文件" alt="Linux下配置Samba服务器跨平台共享文件" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/e6994bc536f7115218df366704871e88.jpg" width="auto"></p>
<p>
        Samba 是一种灵活的文件共享工具,它将你可能在组织中运行的所有不同平台结合在一起。</p>
<p>
        在我接触 Linux 的早期,我是纽约州一个小型学前教育学区的技术总监。我们的技术预算总是捉襟见肘。我们是一个 Windows 2000 活动目录域,但我们的中央服务器磁盘空间有限,而且没有教师的主目录。此外,我们经历过十几次员工电脑硬盘故障。</p>
<p>
        我正在寻找一种方法,以最小的成本保存员工的工作。这时我发现了 Samba。在那之前,我一直将 Linux 用于内容过滤,不知道我们的 Windows 工作站可以连接到服务器并保存文件备份。</p>
<p>
        Samba 项目 自 1992 年以来一直存在。当我开始试验这个项目的时候,这个项目已经有 10 年历史了,我对如何配置它一无所知。我买了一本书并阅读了如何实现它,然后我从我们的电脑柜中取出一台旧电脑,购买了一个 300G 的希捷 IDE 驱动器,安装了 Linux,并配置了 Samba。我使用了一个简单的配置,并且它成功了。在向我们的一个 IT 助理展示后,我们部署了这个解决方案。硬盘故障的问题继续存在,但我们的员工不再需要担心失去他们所有的辛苦工作。</p>
<p>
        Samba 采用 GPL 许可证,并在大多数 Linux 发行版上广泛使用。Samba 有很好的 文档,Fedora 用户可以查阅这份在 Fedora 上配置 Samba 的文档。</p>
<h3 class="mume-header" id="%E5%9C%A8-linux-%E4%B8%8A%E5%AE%89%E8%A3%85-samba">
        在 Linux 上安装 Samba</h3>
<p>
        你可以使用你的发行版的包管理器来安装 Samba。</p>
<p>
        在 Fedora、CentOS、RHEL、Mageia 和类似的系统上:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> dnf install samba</span></code>
</li>
</ol>
<p>
        在 Debian, Linux Mint 和类似系统上:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> apt install samba</span></code>
</li>
</ol>
<h3 class="mume-header" id="%E7%94%A8-samba-%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9">
        用 Samba 创建一个共享文件夹</h3>
<p>
        创建一个简单的共享文件夹只需要五个步骤。</p>
<p>
        1、在你的 Linux 服务器上创建一个你希望用户能够保存共享文件的目录。这个目录可以是服务器上的任何地方:在 <code>/home</code> 或 <code>/opt</code> 或任何最适合你的地方。我使用我的主目录,我把共享目录称为 <code>sambashare</code>。</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">mkdir</span><span class="pln"> </span><span class="pun">/</span><span class="pln">home</span><span class="pun">/</span><span class="pln">don</span><span class="pun">/</span><span class="pln">sambashare</span></code>
</li>
</ol>
<p>
        在 Fedora 和其他运行 SELinux 的发行版上,你必须对这个共享目录给予安全许可:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> semanage fcontext </span><span class="pun">--</span><span class="pln">add </span><span class="pun">--</span><span class="pln">type </span><span class="str">"samba_share_t"</span><span class="pln"> </span><span class="pun">~/</span><span class="pln">sambashare</span></code>
</li>
        <li class="L1">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> restorecon </span><span class="pun">-</span><span class="pln">R </span><span class="pun">~/</span><span class="pln">sambashare</span></code>
</li>
</ol>
<p>
        2、用 Nano 或你选择的文本编辑器编辑 Samba 配置文件。</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">nano</span><span class="pln"> </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">samba</span><span class="pun">/</span><span class="pln">smb</span><span class="pun">.</span><span class="pln">conf</span></code>
</li>
</ol>
<p>
        在 <code>smb.conf</code> 文件的底部添加以下内容,用你自己的共享目录的位置替换我例子中的 <code>/home/don/sambashare</code> 路径:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pun">[</span><span class="pln">sambashare</span><span class="pun">]</span></code>
</li>
        <li class="L1">
                <code><span class="pln">comment </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Samba</span><span class="pln"> on </span><span class="typ">Linux</span><span class="pln"> </span></code>
</li>
        <li class="L2">
                <code><span class="pln">path </span><span class="pun">=</span><span class="pln"> </span><span class="str">/home/</span><span class="pln">don</span><span class="pun">/</span><span class="pln">sambashare</span></code>
</li>
        <li class="L3">
                <code><span class="pln">read only </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">no</span></code>
</li>
        <li class="L4">
                <code><span class="pln">browsable </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">yes</span></code>
</li>
</ol>
<p>
        如果你使用 Nano,按 <code>Ctrl-O</code>,然后按<strong>回车</strong>来保存,按 <code>Ctrl-X</code> 退出。</p>
<p>
        3、启动或重启 Samba 服务,这取决于你的发行版。</p>
<p>
        在 Fedora 和类似的系统中,没有明确的许可,服务是不会启动的,所以现在就可以启动 Samba,并在启动时启动:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">systemctl</span><span class="pln"> enable </span><span class="pun">–</span><span class="pln">now smb</span><span class="pun">.</span><span class="pln">conf</span></code>
</li>
</ol>
<p>
        在 Debian 和类似系统中,Samba 默认在安装后启动,所以你必须现在就重启它:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> service smbd restart</span></code>
</li>
</ol>
<p>
        4、更新你的防火墙规则,允许访问你的 Samba 共享。该如何做取决于你的系统使用什么防火墙。</p>
<p>
        如果你正在运行 firewalld:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> firewall</span><span class="pun">-</span><span class="pln">cmd </span><span class="pun">--</span><span class="pln">permanent </span><span class="pun">--</span><span class="pln">add</span><span class="pun">-</span><span class="pln">service</span><span class="pun">=</span><span class="pln">samba</span></code>
</li>
        <li class="L1">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> firewall</span><span class="pun">-</span><span class="pln">cmd </span><span class="pun">--</span><span class="pln">reload</span></code>
</li>
</ol>
<p>
        如果你正在运行 UFW:</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> ufw allow samba</span></code>
</li>
</ol>
<p>
        5、现在你需要设置一个密码来访问你的 Samba 共享。这个用户名(在我的例子中是 don)必须属于你系统中的一个账户。</p>
<ol class="linenums">
<li class="L0">
                <code><span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> smbpasswd </span><span class="pun">-</span><span class="pln">a don</span></code>
</li>
</ol>
<p>
        我在每个 Samba 共享中都放置了一个简单的 <code>README</code> 文件,这样用户就会明白这个目录位于服务器上,他们必须在虚拟专用网络上才能从家里访问它等等。</p>
<h3 class="mume-header" id="%E4%BB%8E-windows-%E5%92%8C-mac-%E8%AE%BF%E9%97%AE-samba">
        从 Windows 和 Mac 访问 Samba</h3>
<p>
        在 Windows 电脑上,打开文件管理器(Windows Explorer),访问路径 <code>ip-address-of-the-Linux-computer/sambashare</code>。系统会提示你输入 Samba 共享密码,然后 <code>sambashare</code> 目录中的文件会出现在你的文件管理器窗口中,就像它们存在于你的桌面上一样。你可以开始在网络上的这个新共享目录中存储你的文件。</p>
<p>
        在 macOS 电脑上,进入 Finder 菜单,选择 Go。在出现的对话框中,输入 <code>smb://ip-address/sambashare</code>,并按照提示输入 Samba 密码。</p>
<h3 class="mume-header" id="samba-%E6%84%8F%E5%91%B3%E7%9D%80%E5%85%B1%E4%BA%AB">
        Samba 意味着共享</h3>
<p>
        Samba 使共享文件变得容易。你可以在 Samba 中使用许多其他方案来创建共享位置,包括用户组的公共文件夹,只接受传入文件的收件箱,以及其他你可能需要的东西。它是开源的、灵活的,而且它把你可能在你的办公室里运行的所有不同的平台联合起来。</p>
<p>
        原文链接:https://linux.cn/article-14145-1.html</p>
頁: [1]
查看完整版本: Linux下配置Samba服务器跨平台共享文件