基于samba源码的ubuntu18.4搭建共享目录
创始人
2025-05-31 12:12:29
0

本节在ubuntu18.4的系统上实现samba服务器的安装,并利用samba服务器搭建共享目录,给局域网内的windows系统提供共享文件夹服务。本节包括samba软件的安装、samba配置共享目录和samba服务器开机自启动三部分组成,具体操作如下所示:

(一)Samba软件安装

1.进入github下载samba最新软件压缩包,samba最新软件版本为V4.17.6.

https://github.com/samba-team/samba/tags

图1 下载samba源码压缩包

2.拷贝samba源码压缩包到ubuntu18.4的工作目录,并解压源码压缩包。

图2 解压samba源码压缩包

 

3.参考samba官网教程(https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba),在线安装samba必备库文件(注意:不同的ubuntu版本,在线安装的samba必备库存在差异,请具体参考samba官网说明)。

sudo apt-get install   acl apt-utils attr autoconf bind9utils binutils bison build-essential ccache chrpath curl debhelper dnsutils docbook-xml docbook-xsl flex gcc gdb git glusterfs-common gzip heimdal-multidev hostname htop jq krb5-config krb5-kdc krb5-user language-pack-en lcov libacl1-dev libarchive-dev libattr1-dev libavahi-common-dev libblkid-dev libbsd-dev libcap-dev libcephfs-dev libcups2-dev libdbus-1-dev libglib2.0-dev libgnutls28-dev libgpgme11-dev libicu-dev libjansson-dev libjs-jquery libjson-perl libkrb5-dev libldap2-dev liblmdb-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpcap-dev libpopt-dev libreadline-dev libsystemd-dev libtasn1-bin libtasn1-dev libtracker-sparql-2.0-dev libunwind-dev lmdb-utils locales lsb-release make mawk mingw-w64 patch perl perl-modules pkg-config procps psmisc python3 python3-cryptography python3-dbg python3-dev python3-dnspython python3-gpg python3-iso8601 python3-markdown python3-pexpect python3-pyasn1 python3-requests python3-setproctitle rng-tools rsync sed sudo tar tree uuid-dev wget xfslibs-dev xsltproc xz-utils zlib1g-dev

图3 安装samba必要库文件

4.进入samba源码目录,运行.configure进行samba软件的配置。

图4  ./configure配置samba

 

5.进行samba的源码编译。

图5 samba源码编译

 

6.进行samba软件的安装(注意:root权限)。

图6 samba软件安装

 

7.samba默认安装目录为/usr/local/samba目录,samba安装完成后该目录文件如下所示:

图7 samba默认安装目录文件列表

 

(二)Samba服务器配置

1.在ubuntu的/home/lsl目录下新建share_disk的目录,在该目录下新建a.c的文件,新建文件是为了共享目录搭建成功查找该文件使用。

图8 新建共享目录share_disk

 

2.拷贝samba解压目录下example/dce-dfs子目录下的smb.conf到samba安装目录/usr/local/samba/etc下,如下所示:

图9 拷贝smb.conf文件到安装目录etc子目录下

 

3.修改/usr/local/samba/etc目录下的smb.conf文件,如下所示:

图10 smb.conf配置文件内容

 

4.将lsl的账户名(该账户名必须为ubuntu用户列表里的账户)添加到samba服务器:lsl,密码:123456。

sudo /usr/local/samba/bin/smbpasswd -a lsl

图11 samba添加新的账户

5.运行如下命令,开启samba服务器。

sudo /usr/local/samba/sbin/smbd –D

图12 开启samba服务器

6.获得linux的ip地址(192.168.50.83),在windows操作系统通过(以win10系统为例)\\192.168.50.83查看结果如下所示:

图13 输入共享目录ip地址
图14 查找到共享目录qrs

 

图15 查找到共享目录文件a.c

7.至此,基于源码的samba服务器的搭建完成。

(三)Samba服务器开机自动设置

1.将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来,然后对/etc/systemd/system/rc-local.service的文件末尾添加如下内容,如下图所示:

sudo ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

sudo vim /etc/systemd/system/rc-local.service

[Install]

WantedBy=multi-user.target

Alias=rc-local.service

图16 rc-local.service配置

2.在/etc目录下,新建rc.loal脚本文件,修改rc.local 的脚本值,如下图所示:

sudo touch /etc/rc.local

sudo vi /etc/rc.local

图17 新建/etc/rc.local

3./etc/systemd/system 目录创建软链接。

sudo ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/

图18 在系统目录建立软链接

4.给脚本添加执行权限,如下图所示:

sudo chmod +x /etc/rc.local

图19 启动脚本添加可执行权限

5.重启ubuntu系统,使用windows直接访问共享目录,同时ubuntu系统里/etc/local目录下的samba_start.log日志文件添加了一条执行成功的信息

图20 自动开启重启设置成功

图21 samba脚本执行成功

 

 

相关内容

热门资讯

GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
基于TDesign风格的Bla... 作为一名Web开发人员,开发前端少不了使用JavaScript,而Bla...
前端学习第三阶段-第4章 jQ... 4-1 jQuery介绍及常用API导读 01-jQuery入门导读 02-JavaScri...
《成都市体育发展条例》6月1日... 新华网成都6月1日电 6月1日,《成都市体育发展条例》(以下简称《条例》)开始实施。成都市体育局局长...
LCD1602液晶显示屏模块资... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
基于微信小程序的小区疫情防控小... 文末联系获取源码 开发语言:Java 框架:ssm JDK版本ÿ...
【AUTOSAR】【通信安全】... 目录 一、概述 二、约束和假设 三、依赖模块 四、功能描述 4.1 开发错误 4.1.1 运行时错误...
2023面试题汇总二 一、CSS面试题 1. 清除浮动的方式有哪些? 为什么要清除浮动?因为浮...
【并发编程】线程的基本原理和T... 线程的基本原理和Thread Dump线程分析线程的基本原理线程的运行状态如何中断线程存在循环的线程...