docker搭建samba服务smb网络磁盘共享方式

 更新时间:2026年03月20日 17:00:39   作者:flysnownet  
这篇文章主要介绍了docker搭建samba服务smb网络磁盘共享方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

拉取镜像

docker pull  dperson/samba

创建本地共享文件夹

mkdir /home/share

运行镜像

docker run -it --name samba -p 139:139 -p 445:445 -v /home/share:/mount -d dperson/samba -u "user;123456" -s "share;/mount/;yes;no;no;all;user;user"

-u 用户名:密码, 多个用户多次使用-u

连接测试

连接到服务器 ,地址填  smb://192.168.100.100

连接挂载成功,如图:

-s“<name;/path>[;浏览;只读;来宾;用户;管理员;写入列表;注释]”

配置共享

必需的参数:“<name>;</path>”

  • <name>是对客户的称呼
  • <path>共享路径

注意:对于默认值,请留空

  • [可浏览]默认值:“是”或“否”
  • [只读]默认值:“是”或“否”
  • [来宾]允许的默认值:“是”或“否”

对于用户名,下面的列表用“,”注意:下面的列表用“,”分隔

  • [用户]允许的默认值:“所有”或允许的用户列表
  • [管理员]允许的默认值:“无”或管理员用户列表
  • [要写入的用户列表]

其他命令解释

[root@localhost share]# docker run -it --rm dperson/samba -h
Usage: samba.sh [-opt] [command]
Options (fields in '[]' are optional, '<>' are required):
    -h          This help
    -c "<from:to>" setup character mapping for file/directory names
                required arg: "<from:to>" character mappings separated by ','
    -G "<section;parameter>" Provide generic section option for smb.conf
                required arg: "<section>" - IE: "share"
                required arg: "<parameter>" - IE: "log level = 2"
    -g "<parameter>" Provide global option for smb.conf
                required arg: "<parameter>" - IE: "log level = 2"
    -i "<path>" Import smbpassword
                required arg: "<path>" - full file path in container
    -n          Start the 'nmbd' daemon to advertise the shares
    -p          Set ownership and permissions on the shares
    -r          Disable recycle bin for shares
    -S          Disable SMB2 minimum version
    -s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]"
                Configure a share
                required arg: "<name>;</path>"
                <name> is how it's called for clients
                <path> path to share
                NOTE: for the default value, 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
    -u "<username;password>[;ID;group;GID]"       Add a user
                required arg: "<username>;<passwd>"
                <username> for user
                <password> for user
                [ID] for user
                [group] for user
                [GID] for group
    -w "<workgroup>"       Configure the workgroup (domain) samba should use
                required arg: "<workgroup>"
                <workgroup> for samba
    -W          Allow access wide symbolic links
    -I          Add an include option at the end of the smb.conf
                required arg: "<include file path>"
                <include file path> in the container, e.g. a bind mount

The 'command' (if provided and valid) will be run instead of samba

运行后添加用户可进入容器里面添加,

docker exec -it samba /bin/bash

配置文件

vi /etc/samba/sms.conf

[share]
   path = /mount/
   browsable = yes
   read only = no
   guest ok = no  ////匿名用户不允许访问
   veto files = /.apdisk/.DS_Store/.TemporaryItems/.Trashes/desktop.ini/ehthumbs.db/Network Trash Folder/Temporary Items/Thumbs.db/
   delete veto files = yes
   admin users = user01 //管理的用户
   write list = user01  ////写入的用户

用户管理

添加samba用户前系统用户必须存在,系统用户没有的不能添加

  • 系统用户文件:/etc/password
  • samba用户文件:/etc/samba/smbpassword

添加系统用户

useradd [参数] <用户名>

useradd username //新增
passwd username //设置密码 用于系统登录,不设也可以使用samba

添加samba用户

1) 添加用户

[root@localhost ~]# smbpasswd -a username //添加用户,设置密码
New SMB password:
Retype new SMB password:
Added user username.

2) 修改用户密码

[root@localhost ~]#smbpasswd username //修改用户密码
New SMB password:
Retype new SMB password:

smbpasswd命令

smbpasswd指令可以用来修改samba用户的的密码,该指令不仅可以修改本地samba服务器的用户密码,还可以修改远程samba服务器的用户密

1、语法

smbpasswd [选项]  username

2、选项列表

选项

说明

-a

添加用户到samba服务器

-c

指定配置文件smb.conf的位置

-x

删除用户

-d

停止使用指定的用户

-e

激活暂停的用户

-D

设置调试级别0~10

-n

指定用户名为空密码

-r

指定远程smb服务器上的用户密码

-U

指定用户名,只和-r配合使用

-h

显示帮助信息

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Docker构建Python FastAPI镜像的最佳实践

    使用Docker构建Python FastAPI镜像的最佳实践

    本文分享了优化Python FastAPI应用Docker部署的关键技巧:使用slim基础镜像减小体积,通过多阶段构建分离编译与运行环境,利用.dockerignore排除无关文件,推荐采用非root用户运行增强安全性,需要的朋友可以参考下
    2026-02-02
  • IntelliJ IDEA中Docker使用方式

    IntelliJ IDEA中Docker使用方式

    本文介绍了如何在IntelliJ IDEA中使用Docker插件进行Docker的配置和使用,包括下载插件、启动Docker守护进程、配置Docker注册表、构建Docker镜像以及发布镜像加载容器配置
    2024-11-11
  • docker容器日志占满硬盘空间的问题解决

    docker容器日志占满硬盘空间的问题解决

    由于默认情况下,docker使用json-file类型的日志驱动,该日志驱动默认情况下,每个容器的日志会一直追加在文件名为 containerId-json.log文件中,因此在容器不重建的情况下,该日志文件会一直追加内容,直到占满整个服务器硬盘空间,本文就来介绍一下解决方法
    2023-09-09
  • 聊聊Docker不适合跑 MySQL 的N个原因

    聊聊Docker不适合跑 MySQL 的N个原因

    容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题,这篇文章主要介绍了Docker 为什么不适合跑 MySQL?有N个原因,需要的朋友可以参考下
    2022-12-12
  • 教你如何通过 SSH 连接到 Docker 容器

    教你如何通过 SSH 连接到 Docker 容器

    如何通过 SSH 连接到正在运行的容器,以及为什么在这样做之前应该三思而后行,对如何通过SSH连接到Docker容器相关知识感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • jenkins如何进行自动化部署

    jenkins如何进行自动化部署

    这篇文章主要介绍了jenkins如何进行自动化部署问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Docker私有仓库harbor的搭建步骤

    Docker私有仓库harbor的搭建步骤

    本文主要介绍了Docker私有仓库harbor的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker Swarm 操作对容器端口影响记录

    Docker Swarm 操作对容器端口影响记录

    在使用Docker Swarm 构建集群环境过程中,于ts3节点出现了原有的容器端口全部失效,手动重启后才恢复的情况,这篇文章主要介绍了Docker Swarm操作对容器端口影响,需要的朋友可以参考下
    2025-04-04
  • docker+mongodb设置数据库的账号和密码的实现步骤

    docker+mongodb设置数据库的账号和密码的实现步骤

    本文主要介绍了docker+mongodb设置数据库的账号和密码的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • docker安装rocketMQ教程(最详细)

    docker安装rocketMQ教程(最详细)

    这篇文章主要介绍了docker安装rocketMQ教程(最详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论