• 首页
  • 狐文
  • 狐图
  • About
狐窝
OvO
  1. 首页
  2. 未分类
  3. 正文

Docker Samba 文件共享踩坑记录

2020年09月10日 46点热度 0人点赞 0条评论

2019-09 from--https://ld246.com/article/1569228613055

ubuntu18.04 默认的 samba 版本号为 4.7,这个版本不支持 timemachine,于是准备在 docker 上搭建,虽然目前还没开起 timemachine 的功能,但是后续有空也许会弄上。

用的人最多的镜像是 dperson/samba,然而官方的例子太少了,只给了常用情况,但我还有一些需求没有满足, 比如使用单独文件存放密码什么的,于是踩了一波坑。

下面这个是我的完整的 docker 命令

docker run -itd --name samba --restart=always --net=host \
        -v /etc/localtime:/etc/localtime \
        -v /home/lomot/docker-service/samba/smbpasswd:/etc/samba/smbpasswd \
        -v /nas/samba/smb-share:/share \
        -v /nas/samba/smb-lomot:/lomot \
        dperson/samba -p \
        -i "/etc/samba/smbpasswd" \
        -s "share;/share;no;no;no;lomot,share" \
        -s "lomot;/lomot;no;no;no;lomot"

奇怪的"-p, -v"

我一开始是在官方的例子上修改,官方的例子是这样的:

sudo docker run -it -p 139:139 -p 445:445 -d dperson/samba -p \
        -u "example1;badpass" \
        -u "example2;badpass" \
        -s "public;/share" \
        -s "users;/srv;no;no;no;example1,example2" \
        -s "example1 private share;/example1;no;no;no;example1" \
        -s "example2 private share;/example2;no;no;no;example2"

我想要把自己的目录映射到容器内,于是就粗暴地加上了两行

	-v /nas/samba/smb-share:/share \
	-v /nas/samba/smb-lomot:/lomot \

结果提示 -v 命令没找到,当时我还以为 docker 更新去掉了 -v 挂载镜像,仔细看了一波后才发现原来在 dperson/samba -p 之后的内容全部是私有命令,根本就不是 docker 的命令,(命令的格式写的和 docker 一样真的很容易误解啊,后来我在容器内翻了一下,发现这些报错来自一个作者写的脚本 samba.sh)。

密码相关

官方例子里面的密码是放在命令里面的,就像这样 -u "example1;badpass",但是这样总让人觉得不安全,查找文档关于密码是这样解释的

 -i "<path>" Import smbpassword
        required arg: "<path>" - full file path in container

没太看懂。
后来在一个 issue 里面找到了用法

先生成一个 smbpasswd,默认目录在 /etc/samba/smbpasswd,当然也可以手动把它放到别的地方

pdbedit -b smbpasswd -a <username>

然后把它挂载到镜像里面去

-v /etc/samba/smbpasswd:/etc/samba/smbpasswd

指定密码文件 smbpassword

-i "/etc/samba/private/smbpasswd"

权限相关

这个地方官方文档讲的很清楚,我的配置是下面两行这样

-s "share;/share;no;no;no;lomot,share"
-s "lomot;/lomot;no;no;no;lomot"

顺便把文档里面的解释复制过来

-s "<name;>[;browse;readonly;guest;users;admins;writelist;comment]"
       Configure a share
       required arg: "<name>;</name></name;></path>"
       <name> is how it's called for clients
       <path> path to share
       NOTE: for the default values, just leave blank
       [browsable] default:'yes' or 'no'
       [readonly] default:'yes' or 'no'
       [guest] allowed default:'yes' or 'no'
       NOTE: for user lists below, usernames are separated by ','
       [users] allowed default:'all' or list of allowed users
       [admins] allowed default:'none' or list of admin users
       [writelist] list of users that can write to a RO share
       [comment] description of share

端口

官方例子是这样 -p 139:139 -p 445:445 指定端口的,但是我后来发现 samba 还占用了 137,138 端口,
没想太多就直接用了 host 模式 --net=host

查看 samba 版本

进入容器之后发现找不到 samba 可执行文件的位置
最后通过包管理器看到了 samba 版本

bash-5.0# apk info samba
WARNING: Ignoring APKINDEX.00740ba1.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.d8b2a6f4.tar.gz: No such file or directory
samba-4.10.8-r0 description:
Tools to access a server's filespace and printers via SMB

samba-4.10.8-r0 webpage:
https://www.samba.org/

samba-4.10.8-r0 installed size:
12288

作者:LomotHo
链接:https://ld246.com/article/1569228613055
来源:链滴
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

标签: docker samba timemachine
最后更新:2020年09月10日

OvO

狐狸

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
钛备份或小米系统备份功能备份出来的APK无法正常还原 BBR安装启用 安装docker mitmproxy 调试方法 Android SDK 版本选择 Perdition Mail代理服务器配置 HAProxy SSL代理 Openssl 中间人SSL代理 Stunnel SSL to SSL代理 NGINX反代IMAP配置 各种设备User Agent Torrent下载工具推荐 用 rar2john+hashcat 破解 RAR 文件密码 2020最好的Linux发行版 关闭新版chrome工具栏上拼图图标 Office 下载、安装、激活,有它就够了! Android 非官方的发行版 openwrt添加autoconf-archive
验证码破解技术四部曲之使用Tesseract(二) 〔转〕戴眼镜的一定要看 ZSH安装配置 maven代理配置 Python 爬虫的工具列表 PC上设置Chrome浏览器策略 openwrt添加autoconf-archive WebDriver中页面滚动(scrolling) ESXI无法添加裸磁盘 浏览器about:相关链接 nginx配置location总结及rewrite规则写法 ATX电源代工设计列表 搭建家庭 NAS 服务器有什么好方案? 如何在IntelliJ IDEA中快速配置Tomcat 附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本 Linux关闭IPv6 git worktree 使用笔记 让 Python 更加充分的使用 Sqlite3
标签聚合
chrome 路由 linux blog 下载 e 网卡 git chromium https docker 镜像 密码 安装 ssl yum

COPYRIGHT © 2020 狐窝. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS