记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

利用 docker 搭建 samba 服务器 以及ubuntu下访问samba

利用 docker 搭建 samba 服务器 以及ubuntu下访问samba

例子:
XML/HTML代码
  1. sudo docker run -it --name samba -p 139:139 -p 445:445 \
  2.     -v /home/pch18:/mount-home \
  3.     -d --restart always dperson/samba -S \
  4.     -s "pch18;/mount-home;no;no;no;pch18;pch18" \
  5.     -s "share;/mount-home/share;yes;yes;yes;all" \
  6.     -s "free;/mount-home/free;yes;no;yes;all;none" \
  7.     -u "pch18;password"
说明:
XML/HTML代码
  1. sudo docker run -it --name samba -p 139:139 -p 445:445 \
  2.     -v /{实体机挂在目录}:/{容器中映射目录} \
  3.     -d --restart always dperson/samba -S \
  4.     -s "{共享名称};/{容器中共享目录};{可浏览yes|no};{只读yes|no};{访客登录yes|no};{用户列表all|用户名};{管理员列表none|用户名};{可写白名单列表none|用户名}" \
  5.     -u "{增加用户名};{密码}"
-S标签是兼容 linux 设备可以访问。
-- 如果要可以写入修改权限,必须用户列表和管理员列表同时设置此用户。
-- 只在用户列表设置,没有修改权限。
-- 只在管理员列表设置,直接不能访问。
-- 用户列表用 , 逗号分隔
-- 访客的身份是nobody,如果要访客具有写入修改权限,设置管理员列表为nobody即可
ubuntu下访问samba
如果samba服务是用上面docker创建,并且加上了-S参数,那可以用ubuntu自带的连接服务器连接.
如果samba服务是win8-win10创建的话,就不能用ubuntu自带的连接服务器连接了.
需要使用cifs-utils挂载, 具体命令如下
XML/HTML代码
  1. sudo apt install cifs-utils
  2. sudo mkdir /mnt/@share
  3. sudo mount.cifs //192.168.50.50/@share /mnt/@share -o username=guest,dir_mode=0777,file_mode=0777
开机挂载
vi /etc/fstab 在后面添加
XML/HTML代码
  1. //192.168.50.50/@share /mnt/@share cifs defaults,username=guest,password=,dir_mode=0777,file_mode=0777
mount -a 检查是否成功,如没有任何显示说明没问题。
建立一个任何人可以访问的只读共享
XML/HTML代码
  1. sudo docker run -it --name samba -p 139:139 -p 445:445 \
  2.     -v /opt/share:/mount-home \
  3.     -d --restart always dperson/samba -S \
  4.     -s "share;/mount-home/share;yes;yes;yes;all" 
建立一个任何人可以访问的允许读写的共享
XML/HTML代码
  1. sudo docker run -it --name samba -p 139:139 -p 445:445 \
  2.     -v /opt/share:/mount-home \
  3.     -d --restart always dperson/samba -S \
  4.     -s "share;/mount-home/share;yes;no;yes;all" 
镜像地址:https://hub.docker.com/r/dperson/samba
快速建立一个只读权限的匿名共享:
XML/HTML代码
  1. docker run -d --restart=always -p 135:135/tcp -p 137:137/udp -p 138:138/udp -p 139:139/tcp -p 445:445/tcp -v /opt/share/:/data/shared --name samba geisler/alpine-samba-anonymous:0.1
配置文件可以进入容器直接命令修改 smb.conf 非常简单。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):