由于近期需部署一台文件共享服务器,使用人员大多使用的均为windows系统电脑,考虑到稳定性,首先想到就是samba,windows的共享就算了吧都懒得吐槽了。有些童鞋可能不知道samba是什么,简单介绍下吧,知道的直接跳过。
了解过什么是samba后,我们开始部署samba,部署有灰常灰常多的方法,但我这里选择了使用docker一键化部署,省心又省力。
首先网上了解了下,大多数教程选择的都是拉取dperson/samba,我也拉取试了下,发现samba版本低了,只有4.13 ,做为一个经常被黑客光顾的小白菜,这我就接受不了啦,我的天呐,分分钟被漏洞攻击到崩溃。
看了上图samba官网最新的漏洞公告,4.17.4版本及以下都不能幸免,我还有得选择吗?只能在官网下载最新稳定版源码编译安装了。
samba官网 https://www.samba.org/samba/
镜像的底包我用了官方发布debian,然后安装编译环境、编译、安装,此处省略一万字,说多了都是泪,最终重新打包生成了一个新的镜像,当然无条件贡献分享给各位童鞋了。(PS:分层构建镜像的方法咱也不会啊)
不扯了,正题:
使用系统:Debian10 (建议最小化安装)
docker搭建就不废话了,可以翻翻我以前写的帖子,余下的操作只需要2步就可以完成了。
1.创建并授读写权限一个共享目录
mkdir -p /data && chmod 777 /data
2.拉取本人做好的镜像(以下为一条命令,全复制即可)
docker run -idt \
-p 139:139 \
-p 445:445 \
-v /data:/data \
--privileged=true \
--name samba4175 \
--hostname samba4175 \
--restart always \
airsupport/samba4.17.5:latest /bin/bash /sam.sh
至此,docker版的共享服务器完成搭建。
-----------------------------------------------------
附送几条命令用于管理:
启动/停止/重启 samba容器
docker start samba4175
docker stop samba4175
docker restart samba4175
进入samba容器
docker exec -it samba4175 /bin/bash
(以下命令需进入容器后)
配置samba
nano /usr/local/samba/etc/smb.conf
查看samba用户
/usr/local/samba/bin/pdbedit -L
配置samba中admin用户密码
/usr/local/samba/bin/smbpasswd -a admin
删除samba中admin用户
/usr/local/samba/bin/smbpasswd -x admin
-----------------------------------------------------
WINDOWS如何访问共享?
windows直接访问docker宿主机IP 输入用户名/密码 admin/admin
如果遇到以下情况,请在开始-运行-输入 gpedit.msc 如图启用Lanman工作站-不安全的来宾登录 即可
今天的分享到此结束了,童鞋,你学废了吗?