docker构筑samba域服务器

在linux上挂载了很大的硬盘,想作为共享文件服务器来利用这块硬盘,让域用户不用登陆就可以直接使用。普通samba服务通常需要验证自己管理的用户,要使用域用户就必须加入域,接受域的权限管理。

samba加域是很麻烦的事情,网上文章很多,真正能做到不出问题的估计不多。于是想到了docker,在docker hub上搜索了半天,发现能满足要求的就只有一个名叫fjudith/samba-join-ad的项目,这个项目已经4年没有维护了,在网上几乎找不到任何介绍。

GitHub - fjudith/docker-samba-join-ad: Dockerized Active Directory member Samba server based on debian:stable official image.

源代码

https://github.com/fjudith/docker-samba-join-ad/blob/master/sssd/docker-entrypoint.sh

这个项目介绍极为简单只有下面几句

Replace by the local ip of the machine executing docker runtime.

docker run -it --rm --add-host "docker-smb.localdomain.loc docker-smb":<host ip address> \
--hostname docker-smb \
-e TZ=Etc/UTC
-e DOMAIN_NAME=localdomain.loc \
-e ADMIN_SERVER=dc1.localdomain.loc \
-e WORKGROUP=localdomain \
-e AD_USERNAME=Administrator \
-e AD_PASSWORD=V3rY1ns3cur3P4ssw0rd \
-p 137:137/udp \
-p 138:138/udp \
-p 139:139/tcp \
-p 445:445/tcp \
fjudith/samba-join-ad

刚开始老是不对,后来对照git hub上的代码,到容器里面验证才发现问题所在

问题是:WORKGROUP必须是DOMAIN_NAME的第一段

另外需要注意的是 AD_USERNAME和AD_PASSWORD是域管理者的账号,通过这个账号才能加入域。

还有一个问题是samba的共享文件夹在哪里?看代码才明白是下面3个

home:/home

public:/usr/share/public

private:/usr/share/private

我们把这3个映射到host上就可以了,如果要改成其他名字就不好办,需要把docker-entrypoint.sh映射到host来修改

下面是我改写的docker-compose.yml

version: '3.0'
services:
  samba:
    image: "fjudith/samba-join-ad"
    container_name: docker-smb
    hostname: docker-smb
    environment:
      TZ: "Asia/Tokyo"
      DOMAIN_NAME: 'chengdu.xxx.local'
      ADMIN_SERVER: 'CDS.chengdu.xxx.local'
      WORKGROUP: 'chengdu'
      AD_USERNAME: 'Administrator'
      AD_PASSWORD: '12345678'
    extra_hosts:
      - "docker-smb.chengdu.xxx.local:192.168.122.90"
      - "docker-smb:192.168.122.90"
    ports:
      - "137:137/udp"
      - "138:138/udp"
      - "139:139/tcp"
      - "445:445/tcp"
    volumes:
      - "/home/data:/home"
      - "/mnt/sdb1/data:/usr/share/public"

权限需要用windows文件管理器的属性-安全里面设置,默认是everyone,需要加上Domain users,删除everyone。这样只有域用户能访问,并且不需要登录。

需要注意的是,设置权限的时候,会显示

这时点继续,重新显示这个信息的时候时候点取消就可以了

原因不明,因为不影响使用就没有深究了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值