本节在ubuntu18.4的系统上实现samba服务器的安装,并利用samba服务器搭建共享目录,给局域网内的windows系统提供共享文件夹服务。本节包括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默认安装目录文件列表
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服务器的搭建完成。
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.local3./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脚本执行成功