samba漏洞修补——升级 4.15.5版本

升级前最好先关闭samba服务

一、安装依赖(千万别少了依赖,基本升级失败都是因为缺少依赖)

yum install -y python3 python36 python3-devel perl-Parse-Yapp libtasn1-devel libunistring-devel zlib-devel gmp-devel libldap2-dev openldap-devel m4 flex bison

二、创建文件夹,上传samba、gnutls、nettle压缩包,解压

mkdir -p /home/samba_update
​
tar -xvf gnutls-3.6.4.tar
​
tar -zxvf nettle-3.4.1.tar.gz
​
tar -zxvf samba-4.15.5.tar.gz

三、编译安装nettle

1、进入nettle-3.4.1目录

cd /home/samba_update/nettle-3.4.1

2、移除已存在nettle

yum remove nettle*

3、执行编译

./configure

 

4、修改config.make文件

vim /home/samba_update/nettle-3.4.1/config.make (先删除第5,6行,然后拷贝以下内容至第5,6行)
​
CFLAGS = -g -O2 -ggdb3 -Wno-pointer-sign -Wall -W   -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes   -Wpointer-arith -Wbad-function-cast -Wnested-externs -std=c99
CXXFLAGS = -g -O2

 

 

 

5、执行make

make

6、执行make install

make install

四、编译安装gnutls

1、进入gnutls-3.6.4目录

cd /home/samba_update/gnutls-3.6.4

2、创建软连接

ln -s /usr/local/lib64/pkgconfig/nettle.pc /usr/lib64/pkgconfig/nettle.pc

如果/usr/local/lib64/pkgconfig/这个目录下有hogweed.pc,可以不拷贝

cp /root/samba/nettle-3.4.1/hogweed.pc /usr/local/lib64/pkgconfig/
ln -s /usr/local/lib64/pkgconfig/hogweed.pc /usr/lib64/pkgconfig/hogweed.pc
ln -sf /usr/local/lib64/libhogweed.so /usr/lib64/libhogweed.so
ln -sf /usr/local/lib64/libnettle.so.6 /usr/lib64/libnettle.so.6
ln -sf /usr/local/lib64/libhogweed.so.4 /usr/lib64/libhogweed.so.4

3、执行编译

./configure  --without-p11-kit 

4、创建软链

ln -sf /usr/local/lib64/libhogweed.so.4 /usr/lib64/libhogweed.so.4

5、执行make

make

6、执行make install

make install

五、编译安装samba

1、进入samba目录

cd /home/samba_update/samba-4.15.5

2、建立软连接

ln -sf /usr/local/lib/pkgconfig/gnutls.pc /usr/lib64/pkgconfig/gnutls.pc
ln -sf /usr/local/lib/libgnutls.so /usr/lib64/libgnutls.so
ln -sf /usr/local/lib/libgnutls.so.30 /usr/lib64/libgnutls.so.30

3、编译

./configure --disable-python --without-ad-dc --without-json --without-libarchive  --without-acl-support --without-pam --with-shared-modules=!vfs_snapper --without-ldap --without-ads

4、执行make

make

5、执行make install

make install

6、拷贝旧版本配置文件

cp /etc/samba/* /usr/local/samba/etc/

7、修改配置文件smb.conf

vi /usr/local/samba/etc/smb.conf
删除 [global] 块内容,更换为以下内容

[global]
    workgroup = WORKGROUP(老配置文件中workgroup是什么就配置什么,否则可能报错)
    security = user
    map to guest = Bad User
    log file = /usr/local/samba/var/log.%m
    max log size = 50
    unix charset = UTF-8
#display charset = UTF-8
    guest account = nobody
    dos charset = cp936
    create mask = 777
    directory mask = 777

8、重新添加smb用户,设置新密码,密码不得小于8位并不允许与用户名相似

/usr/local/samba/bin/smbpasswd -a 用户1  #执行后提示设置密码
​
/usr/local/samba/bin/smbpasswd -a 用户2  #执行后提示设置密码

9、启动用户

/usr/local/samba/bin/smbpasswd -e 用户1
​
/usr/local/samba/bin/smbpasswd -e 用户2

10、启动samba

/usr/local/samba/sbin/smbd -D
​
/usr/local/samba/sbin/nmbd-D
​
/usr/local/samba/sbin/winbindd-D

11、查看进程

netstat -tlnp|grep smbd

12、其他

#关闭smb,直接关闭进程
​
pkill -9 smb

#查看当前smb版本
​
/usr/local/samba/sbin/nmbd -V

13、客户机验证挂载共享目录(建议每一台客户机都要验证)

升级说明:由于时是升级文档,所以存储目录、用户及目录权限都已经创建过,直接延用之前

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>