Ubuntu18.04搭建samda服务器

一.什么是Samba服务器?

Samba服务器是一种基于开源协议实现的网络共享服务软件,主要用于在不同操作系统(如Windows、Linux、Unix)之间实现文件和打印机共享功能。其核心目标是解决跨平台资源共享的兼容性问题,尤其是在混合网络环境中2

1.Samba服务器的核心功能

  1. 跨平台文件共享
    通过实现SMB/CIFS协议(Windows系统默认使用的文件共享协议),Samba允许Linux/Unix主机与Windows主机在局域网内直接共享文件。例如,用户可在Windows资源管理器中直接访问Linux服务器上的文件12

  2. 打印机共享
    Samba可将连接到Linux主机的打印机共享给局域网内的其他设备(包括Windows主机),实现跨平台打印服务1

  3. 用户权限管理
    支持基于用户或组的访问控制,可设置不同用户对共享资源的读写权限。例如:

    [shared_folder]
    path = /home/share
    valid users = user1, user2
    writable = yes

  4. 域名服务(Domain Controller)
    高级配置中,Samba可充当Windows域控制器(Active Directory),实现统一的网络身份认证和管理3

2.主要用途

  • 混合网络环境整合
    在同时存在Windows和Linux设备的网络中,Samba解决了传统协议(如NFS仅适用于Unix,CIFS仅适用于Windows)的局限性,成为跨系统协作的桥梁2

  • 简化文件同步
    用户可直接修改服务器上的文件,无需反复下载上传,避免了版本冲突问题(例如FTP的局限性)2

  • 低成本解决方案
    作为开源软件,Samba降低了企业部署共享服务的成本,同时提供与商业方案(如Windows Server)相近的功能

  • 技术原理

    Samba通过模拟SMB协议的工作流程实现功能:

    客户端请求→SMB协议解析→Linux文件系统操作→返回响应客户端请求→SMB协议解析→Linux文件系统操作→返回响应

    此过程在局域网内完成,延迟低且效率高

二.ubuntu搭建samda服务器

1.安装samda软件

先更新一下:sudo apt update

之后下载  : sudo apt install samba -y

下载时遇到报错:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

输入下面指令:

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock

出现:E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

输入下面指令:

(sudo apt update  //更新软件源)一般不用跟新
//强制修复依赖链
sudo apt --fix-broken install
sudo apt install -f
手动处理版本冲突(以引用[2]中的libgbm1为例)
sudo apt install libgbm1=22.0.1-1ubuntu2.1sudo apt-mark showhold  # 查看被锁定的包
sudo apt-mark unhold 包名  # 解除锁定sudo apt install -f   //执行这个指令后就重新下载samda,我是到这里就没有问题了

如果还是提示E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

可能是镜像源有问题,

1、首先使用以下命令备份现有的镜像源:
cd /etc/apt
sudo cp sources.list sources.list.bak 
2、使用以下命令打开镜像源文件:
sudo vim /etc/apt/sources.list  
3、在vim插入模式下使用以下内容替换掉原镜像源文件sources.list中的内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

4、保存并退出。
5、在ubuntu能正常上网的前提下,使用以下命令更新软件列表:
sudo apt-get update
sudo apt-get upgrade
经过以上流程,ubuntu使用的镜像源就是清华的镜像源了。

2.创建 Samba 共享文件夹

用户创建的任何文件夹都可以做共享文件夹(只要开放读写权限),如果不想创建新的文件夹,可以跳过创建的步骤,在现有的文件夹中选一个设置权限即可。

使用mkdir命令(后面的参数-p是用于创建多级目录使用的,去掉也不影响),新建一个名为 

mkdir -p Share,建立之后去到share中。用pwd查看其绝对路径,之后用到

返回上一级目录,给建立的share文件添加777权限

3.配置samda文件和设置samda密码

为保险起见,先备份一下原来的 Samba 配置文件。后面出现操作失误等问题导致文件乱了,还有备份来用

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.beifen

编辑配置smb.conf配置文件,添加共享目录。

sudo vim /etc/samba/smb.conf

进来之后,直接按组合键Shift+g跳到结尾处,在结尾处把下面的文本添加进去,要注意根据自己的情况修改。

[Ubuntu_18.04]        //这是共享的名称,你可以在网络上访问该共享时使用。comment = Samba      //这是关于共享的描述或注释,显示给用户看。path = /home/www/Share     //这是共享的实际路径。public = yes     //这表示该共享是否为公共共享,即是否允许匿名用户访问。writable = yes   //表示是否允许用户在共享中创建、编辑和删除文件。available = yes   //表示该共享是否可用。browseable = yes   //表示该共享是否在网络上可以浏览。valid users = www   当前 Ubuntu 系统的用户名。 www改成你的用户名

然后保存退出,接着给 Samba 用户设置密码:

sudo smbpasswd -a www    (www是我的用户名,这里写你自己的)

4.重启 Samba 服务器

重启 Samba 服务器可以直接输入下列命令:

systemctl restart smbd.service   //重启
systemctl enable smbd.service   //能使

输入第一条命令的时候会出现一次下面这个,这个就是你的登入用户的密码,不是刚才设置的密码

输入第二个执行会出现三次,输入密码就好了

完成之后查看运行情况: systemctl status smbd.service,看绿色的running,这表示正在运行

5.设置静态IP地址

1.查看IP 地址了

输入ifconfig便可查看 IP 地址了,如图中红框所标位置就是本台 Ubuntu 的 IP 地址。在不确定其它 IP 地址是否被其它设备占用的情况下,直接把当前的 IP 地址设置为静态 IP 最为妥当

2. 查看网关

设置静态 IP 的前置条件是,我们需要先知道局域网的默认网关和子网掩码分别是什么。可以先通过输入这个route -n命令来获得默认网关和子网掩码。

其中的 Gateway 的地址就是网关地址,都是 192.168.168.2

而 Genmask 为子网掩码。由于 IPv4 地址是由 32 位二进制数构成的,其中前 24 位被用来表示网络部分,所以子网掩码 255.255.255.0 的网络部分占据了 24 位,那么在 IP 地址后面就要写 24。(一共四段,每段 8 个位,前三段都是 255,第四段是 0。255 转为二进制数是 8 个 1,三段 255 就有 24 个 1。)

3. DNS 服务器(域名服务器)

以下是一些常见的国内可用 DNS 服务器,以下信息确认后,就可以开始配置静态 IP 地址了。

#114 DNS:IPv4:114.114.114.114、114.114.115.115#阿里云 DNS:IPv4:223.5.5.5、223.6.6.6#腾讯云 DNS:IPv4:119.29.29.29、119.28.28.28#CNNIC DNS:IPv4:1.2.4.8、210.2.4.8#百度 DNS:IPv4:180.76.76.76#Google DNS:IPv4:8.8.8.8、8.8.4.4	

4.通过网络管理工具设置静态 IP(NetworkManager TUI)

在命令行输入:nmtui

按回车进入Edit a connection

连续按两次Tab键,选中<Edit...>,按回车进入

按⬇方向键把光标下移到“IPv4 CONFIGURATION”后面的<Automatic>按回车弹出菜单

按⬇方向键选择Manual,按回车

按➡键选择<Show>,按回车

然后逐一输入 IP 地址、网关和 DNS,DNS 就是上面给出的DNS服务器,你们可以人选几个

192.168.168.2就是你们ifconfig得到的,/24是固定加的

其中的 Gateway 的地址就是网关地址,都是 192.168.168.2(上面查看的)

⬇到下面选择ok按回车

选择back回车

选择Quit回车,退出

退出后输入reboot重启

6.Windows 系统访问 Ubuntu 共享文件夹

设置好静态 IP 后,回到 Windows 系统主机,按组合键Win+R,输入 Ubuntu 系统的 IPv4 地址,然后回车,具体如下图(注意前面要输入两个反斜杠):

在随后的弹窗中输入 Ubuntu 的 Samba 服务器账号和密码,勾上“记住我的凭证”,再点确定即可。

点击确认后弹出下面这样文件夹说明就成功了

为了之后访问更方便,可以右键单击文件夹,选择“映射网络驱动器”。

盘符可以指定,也可以默认,全凭个人喜好,单击“完成”按钮即可

可以看到电脑多了个盘符,以后只要打开 Ubuntu 系统,都可以直接从 Windows 的文件管理器访问 Ubuntu 系统了。

7、测试

目前我们确定,此时的 Ubuntu 系统中的 Share 文件夹是空的,如下图:

同时,在 Windows 系统的文件管理器查看也是如此。

可以在windows中新建一个文本

保存好退出,在ubuntu中去查看,可以看到是一摸一样的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/79967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《分词算法大揭秘:BPE、BBPE、WordPiece、ULM常见方法介绍》

分词算法是自然语言处理&#xff08;NLP&#xff09;中的一个重要预处理步骤&#xff0c;它将文本分割成更小的单元&#xff08;如单词、子词或字符&#xff09;。以下是几种常见的分词算法&#xff1a;Byte Pair Encoding (BPE)、Byte-level BPE (BBPE)、WordPiece 和 Unigram…

WordPress01 - 后台常用功能

最近些日子研究Wordpress&#xff0c;做些简单的笔记。 怎么安装Wordpress&#xff0c;怎么进的后台&#xff0c;这些咱就不唠了哈&#xff0c;网上到处是教程。 目录 1&#xff0c;Wordpress的后台 1-1&#xff0c; Posts(投稿) 1-2&#xff0c;Media(媒体) 1-3&#xf…

R8周:RNN实现阿尔茨海默病诊断

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 一、前期准备 1.设置GPU import numpy as np import pandas as pd import torch from torch import nn import torch.nn as nn import torch.nn.functi…

今天python练习题

目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 不要害怕失败&#xff0c;失败可能成为我们前进的动力&#xff01; 二、练习题 有列表lst [[1,2,3],[4,5,6],[7,8,9]],取出其中的元素1/5/9组成新的列表 # 有列表lst [[1,2,3],[4,5,6],[…

机器人强化学习入门学习笔记(二)

基于上一篇的《机器人强化学习入门学习笔记》,在基于 MuJoCo 的仿真强化学习训练中,除了 PPO(Proximal Policy Optimization)之外,还有多个主流强化学习算法可用于训练机器人直行或其他复杂动作。 🧠 一、常见强化学习算法对比(可用于 MuJoCo) 算法类型特点适合场景PP…

用 DuckDB 高效分析 JSON 数据:从入门到实战

解析 JSON 文件进行分析常常充满挑战。无论你是在处理 API 响应、日志文件&#xff0c;还是应用数据&#xff0c;如果没有合适的工具&#xff0c;分析 JSON 都会非常耗时。 借助 DuckDB&#xff0c;你可以直接用 SQL 查询复杂的 JSON 文件&#xff0c;无需编写复杂的解析代码或…

从贴牌到品牌:出海官网如何让中国制造“贵”起来?

在全球经济一体化的当下&#xff0c;中美关税战如同一记重锤&#xff0c;给国际贸易格局带来了巨大震荡。自贸易摩擦爆发以来&#xff0c;双方多次调整关税政策&#xff0c;涉及的商品种类不断增多&#xff0c;税率持续攀升&#xff0c;众多中国企业的出口业务遭受重创&#xf…

react-13react中外部css引入以及style内联样式(动态className与动态style)

1. 外部css文件 - 普通引入 1.1 创建一个 CSS 文件&#xff0c;MyComponent.css。 /* MyComponent.css */ .my-class {color: red;font-size: 20px; } 1.2 组件中import引入 import React from react; import ./MyComponent.css; // 引入 CSS 文件function MyComponent() {r…

n8n 与智能体构建:开发自动化 AI 作业的基础平台

n8n 是一款开源的自动化流程构建平台&#xff0c;通过其模块化节点系统&#xff0c;开发者可以快速实现跨平台的任务编排、数据集成与智能交互。当 n8n 与大型语言模型&#xff08;LLM&#xff09;结合时&#xff0c;就能构建出具备感知、推理、执行能力的 AI 智能体&#xff0…

14.Spring Boot 3.1.5 集成 Spring Security 进行访问控制

14.Spring Boot 3.1.5 集成 Spring Security 进行访问控制 Spring Security 是一个强大且高度可定制的认证和访问控制框架&#xff0c;专为基于 Spring 的应用程序设计。它为基于 Java EE 的企业应用程序提供了全面的安全解决方案&#xff0c;包括 Web 应用程序安全和方法级安…

Linux学习笔记(二):Linux权限管理

文章目录 一、Linux下用户的分类1. Linux下用户分为两类&#xff1a;2. 这两类用户如何进行切换呢&#xff1f;3. 短暂提权 二、何为权限1. 什么是权限2. Linux的文件后缀意义 三、修改权限1. 设置文件的访问权限——chmod2. 修改文件拥有者——chown3. 修改文件所属组——chgr…

学习alpha,第2个alpha

alphas (-1 * ts_corr(rank(ts_delta(log(volume), 2)), rank(((close - open) / open)), 6)) 先分析操作符从左到右 ts_corr: Pearson 相关度量两个变量之间的线性关系。当变量呈正态分布且关系呈线性时&#xff0c;它最有效。 ts_corr(vwap, close, 20)是一个计算时间序列相…

Paddle Serving|部署一个自己的OCR识别服务器

前言 之前使用C部署了自己的OCR识别服务器&#xff0c;Socket网络传输部分是自己写的&#xff0c;回过头来一看&#xff0c;自己犯傻了&#xff0c;PaddleOCR本来就有自己的OCR服务器项目&#xff0c;叫PaddleServing&#xff0c;这里记录一下部署过程。 1 下载依赖环境 1.1 …

React Native【详解】搭建开发环境,创建项目,启动项目

下载安装 node https://nodejs.cn/download/ 查看 npx 版本 npx -v若无 npx 则安装 npm install -g npx创建项目 npx create-expo-applatestRN_demo 为自定义的项目名称 下载安装 Python 2.7 下载安装 JAVA JDK https://www.oracle.com/java/technologies/downloads/#jdk24-…

NVIDIA Halos:智能汽车革命中的全栈式安全系统

高级辅助驾驶行业正面临一个尴尬的"安全悖论"——传感器数量翻倍的同时&#xff0c;事故率曲线却迟迟不见明显下降。究其原因&#xff0c;当前行业普遍存在三大技术困局&#xff1a; 碎片化安全方案 传统方案就像"打补丁"&#xff0c;激光雷达厂商只管点云…

数据资产管理与AI融合:物联网时代的新征程

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;数据资产已成为企业和组织的核心竞争力之一。随着物联网&#xff08;IoT&#xff09;技术的飞速发展&#xff0c;海量的数据如潮水般涌来&#xff0c;如何高效地管理和利用这些数据资产成为了亟待解决的问题。与此同时&am…

MySQL 表的内外连接

文章目录 表的内外连接&#xff08;重点&#xff09;内连接外连接左外连接右外连接 表的内外连接&#xff08;重点&#xff09; 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;我们前面学习的查询都是内连接&#xff0c;也是在开发过程中使…

VTK 交互类介绍

基本概念 交互器(Interactor): 处理用户输入事件的基础类 交互样式(InteractorStyle): 定义具体的交互行为 Widgets: 可交互的UI组件,如滑块、按钮等 Picker: 用于选择场景中的对象 常用交互类 类名功能描述vtkRenderWindowInteractor渲染窗口交互器vtkInteractorStyle交互样式…

C语言动态库与静态库编译测试示例详细介绍终结篇

C语言动态库与静态库编译链接时的详细对比与示例 下面我将提供更详细的示例&#xff0c;并通过对比表格清晰地展示静态库和动态库的特性差异以及它们之间的各种链接关系。 ## 1. 静态库与动态库特性对比 | 特性 | 静态库(.a/.lib) | 动态…

神经网络:节点、隐藏层与非线性学习

神经网络&#xff1a;节点、隐藏层与非线性学习 摘要&#xff1a; 神经网络是机器学习领域中一种强大的工具&#xff0c;能够通过复杂的结构学习数据中的非线性关系。本文从基础的线性模型出发&#xff0c;逐步深入探讨神经网络中节点和隐藏层的作用&#xff0c;以及它们如何…