企业运维 | NFS、Samba服务在Docker容器环境中快速搭建部署实践

欢迎关注「全栈工程师修炼指南」公众号

设为星标⭐每天带你 基础入门 到 进阶实践 再到 放弃学习

专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享

  花开堪折直须折,莫待无花空折枝 


作者主页:[ https://www.weiyigeek.top ]  

博客:[ https://blog.weiyigeek.top ]

作者<安全开发运维>答疑交流群,回复【学习交流群】即可加入


文章目录:

  • Docker 快速部署 nfs-server 服务

  • Docker 快速部署 samba-server 服务


0x00 Docker 快速部署 nfs-server 服务

步骤 01.载入模块 nfs 依赖模块

tee -a /etc/modules-load.d/modules.conf <<'EOF'
modprobe nfs
modprobe nfsd
EOF

温馨提示: Linux modprobe命令用于自动处理可载入模块,modprobe可载入指定的个别模块,或是载入一组相依的模块。

步骤 02.创建NFS共享目录以及运行nfs-server容器,并且验证服务

$ mkdir -vp /app/storage/nfs
$ docker run --privileged -d --name nfs \
-v /app/storage/nfs:/nfsshare \
-e NFS_EXPORT_0='/nfsshare  *(rw,sync,no_root_squash,no_all_squash,no_subtree_check,nohide,crossmnt)' \
-p 2049:2049   -p 2049:2049/udp   \
-p 111:111     -p 111:111/udp      \
-p 32765:32765 -p 32765:32765/udp  \
-p 32767:32767 -p 32767:32767/udp  \
erichough/nfs-server

# 在Ubuntu宿主机上安装nfs客户端工具
$ sudo apt install nfs-client
$ showmount -e 10.20.176.101
Export list for 10.20.176.101:
/nfsshare *

步骤 03.手动挂载nfs到指定磁盘目录中。

mount -v -t nfs -o ro,nfsvers=3,nolock,proto=udp,port=2049 10.20.176.101:/nfsshare /mnt/nfs

参考地址: https://github.com/ehough/docker-nfs-server


偷偷的告诉你哟?极客全栈修炼】微信小程序已开放

可直接在微信里面直接浏览博主文章哟,后续将上线更多有趣的小工具。


0x01 Docker 快速部署 samba-server 服务

描述: Samba 是适用于 Linux 和 Unix 的标准 Windows 互操作性程序套件。自 1992 年以来,Samba 为所有使用 SMB/CIFS 协议的客户端提供了安全、稳定和快速的文件和打印服务,例如所有版本的 DOS 和 Windows、OS/2、Linux 等等。

步骤 01.部署 samba-server 服务

$ sudo mkdir -vp /app/storage/nfs
$ sudo docker run -it --name samba -p 139:139 -p 445:445 \
  -e TZ=Etc/UTC \
  -v /app/storage/nfs:/share \
  -d dperson/samba -p \
  -u "iuser;123456" \
  -s "myshare;/share;yes;no;yes"

步骤 02.Windows 中挂载 samba-server

# 方式1.
\\10.20.176.101\myshare

# 方式2.
C:\Users\WeiyiGeek>net use J: \\10.20.176.101\myshare "123456" /USER:iuser /PERSISTEN:yes
  # 命令成功完成。

C:\Users\WeiyiGeek>net use | findstr iuser
  # OK           J:        \\10.20.176.101\myshare     Microsoft Windows Network

可用 ENVIRONMENT VARIABLES:

* CHARMAP - As above, configure character mapping
* GENERIC - As above, configure a generic section option (See NOTE3 below)
* GLOBAL - As above, configure a global option (See NOTE3 below)

* IMPORT - As above, import a smbpassword file
* NMBD - As above, enable nmbd
* PERMISSIONS - As above, set file permissions on all shares
* RECYCLE - As above, disable recycle bin
* SHARE - As above, setup a share (See NOTE3 below)
* SMB - As above, disable SMB2 minimum version
* TZ - Set a timezone, IE EST5EDT
* USER - As above, setup a user (See NOTE3 below)
* WIDELINKS - As above, allow access wide symbolic links
* WORKGROUP - As above, set workgroup
* USERID - Set the UID for the samba server's default user (smbuser)
* GROUPID - Set the GID for the samba server's default user (smbuser)
* INCLUDE - As above, add a smb.conf include

官方地址: https://www.samba.org/
参考地址: https://hub.docker.com/r/dperson/samba
Github地址: https://github.com/dperson/samba/issues

步骤 03.Linux 中挂载 samba-server
首先,我们需要安装相关 samba 挂载依赖 cifs-utils 服务与 smbclient 命令

apt install cifs-utils smbclient -y

其次,若有密码请创建一个配置文件,存储用户名和密码

username=iuser
password=123456

然后,创建挂载的目录并挂载samba

# 使用mount命令进行挂载
mount -t cifs -o vers=3.0,credentials=/etc/.smbcredentials //10.20.176.101/myshare /media/share

# 开机自动挂载(optional)
vim /etc/fstab
//10.20.176.101/myshare /myshare cifs rw,relatime,vers=3.0,sec=ntlmssp,cache=strict,username=root,domain=SMBALIBABACLOUD,uid=0,noforceuid,gid=0,noforcegid,addr=10.41.40.92,file_mode=0755,dir_mode=0755,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1 1 1

亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?

最后,查看挂载信息, 至此完毕

$ smbclient -L 10.20.176.101 -U root
$ df -Th
$ mount -l
//10.20.176.101/myshare on /myshare type cifs (rw,relatime,vers=3.0,sec=ntlmssp,cache=strict,username=root,domain=SMBALIBABACLOUD,uid=0,noforceuid,gid=0,noforcegid,addr=10.41.40.92,file_mode=0755,dir_mode=0755,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)

温馨提示: 若出现挂载失败可以通过查看日志 tail -f /var/log/kern.log

温馨提示: 若samba客户端连接报NT_STATUS_INVALID_NETWORK_RESPONSE错误解决办法,在samba服务端添加支持最小协议server min protocol = LANMAN1, 然后重启smb服务,客户端便可重新连接成功。

# 问题原因:
The defaults of ‘client min protocol’ and ‘server min protocol’ have been changed to SMB2_02.
This means clients without support for SMB2 or SMB3 are no longer able to connect to smbd (by default).
It also means client tools like smbclient and other, as well as applications making use of libsmbclient are no longer able to connect to servers without SMB2 or SMB3 support (by default).
It’s still possible to allow SMB1 dialects, e.g. NT1, LANMAN2 and LANMAN1 for client and server, as well as CORE and COREPLUS on the client.

本文至此完毕,更多技术文章,尽情等待下篇好文!

原文地址: https://blog.weiyigeek.top/2020/2-25-665.html

如果此篇文章对你有帮助,请你将它分享给更多的人! 

cad55014b51e3872169e069b12b8da34.gif

504ad2497913513b4d563045de1a6466.png 学习书籍推荐 往期发布文章 a36ede66518e7c5eef75274bea446668.png

公众号回复【0008】获取【Ubuntu22.04安装与加固脚本】

公众号回复【10001】获取【WinServer安全加固脚本】

公众号回复【10002】获取【KylinOS银河麒麟安全加固脚本】

公众号回复【0011】获取【k8S二进制安装部署教程】

公众号回复【0014】获取【Nginx学习之路汇总】

公众号回复【0015】获取【Jenkins学习之路汇总】

 热文推荐  

欢迎长按(扫描)二维码 取更多渠道哟!

欢迎关注 【全栈工程师修炼指南】(^U^)ノ~YO

添加作者微信【weiyigeeker】,拉你一起学习交流吧!

关注回复【学习交流群】即可加入【安全开发运维沟通交流群

温馨提示: 由于作者水平有限,本章错漏缺点在所难免,希望读者批评指正,若有问题或建议请在文章末尾留下您宝贵的经验知识,或联系邮箱地址 master@weiyigeek.top 或 关注公众号 [全栈工程师修炼指南] 留言。

朋友点个【赞 + 在看】吧!

点击【"阅读原文"】获取更多有趣的知识!   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu搭建Samba服务器,您可以按照以下步骤进行操作: 1. 首先,安装Samba服务器软件。您可以使用以下命令安装Samba服务器: ``` sudo apt-get install samba ``` 2. 安装完成后,您可以选择安装一个图形管理界面来方便地配置Samba服务器。您可以使用以下命令安装Samba图形管理界面: ``` sudo apt-get install system-config-samba ``` 3. 安装完成后,您可以使用以下命令备份Samba配置文件: ``` sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ``` 4. 现在,您可以开始配置Samba服务器。打开Samba配置文件: ``` sudo nano /etc/samba/smb.conf ``` 5. 在配置文件,您可以定义您想要共享的文件夹。在文件的末尾,添加以下内容: ``` [shared_folder] path = /path/to/shared/folder writable = yes guest ok = yes ``` 请将`/path/to/shared/folder`替换为您想要共享的文件夹的实际路径。 6. 保存并关闭文件。 7. 然后,您需要创建Samba共享所使用的用户账户。使用以下命令创建一个新的Samba用户: ``` sudo smbpasswd -a username ``` 将`username`替换为您想要创建的用户名。 8. 完成后,重新启动Samba服务以使更改生效: ``` sudo service smbd restart ``` 9. 现在,您可以从其他计算机访问您的Samba共享。在文件资源管理器或网络浏览器,输入以下地址来访问共享文件夹: ``` \\your_ubuntu_ip\shared_folder ``` 将`your_ubuntu_ip`替换为您Ubuntu机器的IP地址,`shared_folder`替换为您在配置文件定义的共享文件夹名称。 这样,您就成功地在Ubuntu搭建Samba服务器。您可以通过上述步骤来进行配置和管理Samba共享。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值