C

centos 7.3 源码编译 samba

xyj2156 Linux 2018-07-13

centos 编译安装 samba

环境

宿主系统:windows 10 1803

虚拟机系统:Centos 7.3

samba版本:4.8.3

虚拟机,使用的是最小化安装,所以必要的时候需要 yum 安装一些其他软件。

准备源码

截止到:2018年7月13日 10:36:50

可以使用下面的网址下载

https://download.samba.org/pub/samba/samba-latest.tar.gz

mkdir -p /web/data
cd  /web/data
weget https://download.samba.org/pub/samba/samba-latest.tar.gz
tar xf samba-latest.tar.gz
// 截止到我写的时候的是 4.8.3 所以下面的目录是
cd samba-4.8.3

检测系统配置

我使用的是最小化安装,需要安必须的编译器等软件。

yum install -y gcc gcc-c++

配置的时候难免会出问题,解决办法都提供了。界面会输出显示的,会提示你安装两种软件,适用两种安装系列的,我现在知道的两种,yumapt

到此位置配置完毕了。

下面参考了 别人的博客,网址是:https://blog.csdn.net/cupidove/article/details/47756225
发表博文时间是:2015年08月18日 18:38:07

默认安装位置是:/usr/local/samba

编译&安装

直接 make && make install,然后可以喝茶,聊天,写博文了。

配置 smb.conf 和 用于支持运行samba的动态库

配置 动态库

默认情况下,samba软件包会被安装到目录/usr/local/samba/下,但是现在还不能启动它。

因为:samba的进程在启动的时候需要一些库文件的支持,这些库文件就在/usr/local/samba/lib/目录下,需要把这个目录加入系统搜索库文件的路径中。

可以在/etc/ld.so.conf.d/目录里创建一个名为samba.conf的文件(文件名后缀必须为.conf,名称随意),这个文件的内容就是/usr/local/samba/lib/,最后执行ldconfig命令使之生效。

在 /etc/ld.so.conf.d/ 目录下创建 samba.conf 文件(文件只要以conf结尾即可),并输入所安装的 samba 库位置的绝对路径(/usr/local/samba/lib)即可;之后执行命令 #ldconfig 重新读取 /etc/ld.so.conf.d 目录下的配置文件。

ldconfig命令的用途,主要是在默认搜寻目录(/lib、/lib64和 /usr/lib)以及动态库配置目录 /etc/ld.so.conf内的文件,搜索出可共享的动态链接库(lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

上面的操作:

vim /etc/ld.so.conf.d/samba.conf
// 内容如下:
/usr/local/samba/lib/

// 保存退出 并执行
ldconfig

配置 smb.conf

我现在所在的目录是 编译时的目录

复制一份配置模版到 /usr/local/samba/lib 下,并重命名 smb.conf

cp examples/smb.conf.default /usr/local/samba/lib/smb.conf

如果愿意可以创建配置文件软连接 到 etc 文件夹下,这样符合 文件夹名字的本意。

ln -s /usr/local/samba/lib/smb.conf /usr/local/samba/etc/smb.conf

配置可执行文件 到全局

添加samba 用户的可执行文件在 bin 目录下。

我的做法是 创建软连接到 sbin 目录下

ln -s /usr/local/samba/bin/smbpasswd /usr/local/samba/sbin/smbpasswd

然后

echo 'export PATH=/usr/local/samba/sbin:$PATH' >> /etc/profile

执行下 source /etc/profile

就可以使用这些命令了。

添加测试账户

添加之前保证系统有这个用户

smbpasswd -a nobody

启动测试

启动 samba

smbd -D

我使用的是虚拟机不需要主机名解析,所以只需要启动 smbd 就行了。

在 windows 的 资源管理器地址栏输入 \ip地址 测试。没有问题。

访问前 保证Centos 的防火墙是允许的。

完美可以访问,其中涉及到的权限问题不在本文说明之列。

selinux 问题可以参考 我的另一篇 https://blog.xyj2156.top/posts/samba_install_config

PREV
关于 include 和 require 的返回值问题的测试
NEXT
mysql 中 整数 类型大小显示问题

评论(0)

评论已关闭