例子
sudo docker run -it --name samba -p 139:139 -p 445:445 \
-v /home/pch18:/mount-home \
-d --restart always dperson/samba -S \
-s "pch18;/mount-home;no;no;no;pch18;pch18" \
-s "share;/mount-home/share;yes;yes;yes;all" \
-s "free;/mount-home/free;yes;no;yes;all;none" \
-u "pch18;password"
说明
sudo docker run -it --name samba -p 139:139 -p 445:445 \
-v /{实体机挂在目录}:/{容器中映射目录} \
-d --restart always dperson/samba -S \
-s "{共享名称};/{容器中共享目录};{可浏览yes|no};{只读yes|no};{访客登录yes|no};{用户列表all|用户名};{管理员列表none|用户名};{可写白名单列表none|用户名}" \
-u "{增加用户名};{密码}"
-S标签是兼容 linux 设备可以访问。
-- 如果要可以写入修改
权限,必须用户列表
和管理员列表
同时设置此用户。 --
-- 只在用户列表
设置,没有修改权限。 --
-- 只在管理员列表
设置,直接不能访问。 --
用户列表用 ,
逗号分隔
访客的身份是nobody
,如果要访客具有写入修改
权限,设置管理员列表
为nobody
即可
ubuntu下访问samba
如果samba服务是用上面docker创建,并且加上了-S
参数,那可以用ubuntu自带的连接服务器
连接.
如果samba服务是win8-win10创建的话,就不能用ubuntu自带的连接服务器
连接了.
需要使用cifs-utils
挂载, 具体命令如下
sudo apt install cifs-utils
sudo mkdir /mnt/@share
sudo mount.cifs //192.168.50.50/@share /mnt/@share -o username=guest,dir_mode=0777,file_mode=0777
开机挂载
vi /etc/fstab
在后面添加
//192.168.50.50/@share /mnt/@share cifs defaults,username=guest,password=,dir_mode=0777,file_mode=0777
mount -a
检查是否成功,如没有任何显示说明没问题。