升级前最好先关闭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、客户机验证挂载共享目录(建议每一台客户机都要验证)文章来源:https://www.toymoban.com/news/detail-501172.html
升级说明:由于时是升级文档,所以存储目录、用户及目录权限都已经创建过,直接延用之前文章来源地址https://www.toymoban.com/news/detail-501172.html
到了这里,关于samba漏洞修补——升级 4.15.5版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!