在Ubuntu下安装samba实现和Windows系统文件共享

一、安装

bash 复制代码
 apt install -y samba samba-client

Samba is not being run as an AD Domain Controller: Masking samba-ad-dc.service

Please ignore the following error about deb-systemd-helper not finding those services.

(samba-ad-dc.service masked)

Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service.

Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked.

/usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory

Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service.

samba-ad-dc.service is a disabled or a static unit, not starting it.

|---------------------------------------------------|
| ++报屏蔽Samba-AD-dc.service,不会启动,忽略错误即可,不需要处理!++ |

二、配置

1、配置用户/用户组

添加一个新的用户,-m参数指定创建用户时同时创建用户的目录

bash 复制代码
sudo useradd -m sambauser

设置访问系统的密码

bash 复制代码
sudo passwd sambauser

设置新用户进行samba访问时用的密码

bash 复制代码
sudo smbpasswd -a sambauser

2、创建共享文件夹 或者指定已有文件夹

bash 复制代码
mkdir /share

赋予权限

bash 复制代码
 chmod -R 777 /share/

如果只是简单浏览文件,可以不给权限;但需要操作修改时,必须要给权限!

3、编辑smb.conf文件

bash 复制代码
vim /etc/samba/smb.conf

增加以下内容

bash 复制代码
# 工作区名称(共享文件夹的名字)
[share]
   # 文件夹注释
   comment = 共享文件夹
   # 共享文件夹路径
   path = /share
   # 是否可浏览
   browseable = yes
   # 是否可写入
   writeable = yes
   # 是否为(只读模式)
   read only = no
   # 允许访客(匿名用户),同时需注释掉valid user才有效
   guest ok = yes
   # 可登入用户
   valid users = sambauser
   # 创建文件时强制指定某个所属组
   # force group = groupname
   # 创建文件权限掩码
   create mask = 0775
   # 创建目录权限掩码
   directory mask = 0775
   # 允许的ip列表
   hosts allow = 192.168.10.0/24

测试配置文件语法

bash 复制代码
testparm /etc/samba/smb.conf

打印返回

|------------------------------------------------------------------------------------------------------------------------------------|
| Loaded services file OK. Weak crypto is allowed Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions |

按回车键可以看到生效的配置文件内容

配置完成,重启samba服务

bash 复制代码
sudo systemctl restart smbd

4、开机启动samba服务

bash 复制代码
sudo systemctl enable smbd

5、更新防火墙规则

bash 复制代码
ufw allow samba

打印返回

|--------------------|
| 防火墙规则已更新 规则已更新(v6) |

三、Windows网络发现

需要配合wsdd服务才能再windows的网络上发现

bash 复制代码
sudo apt install wsdd

四、Windows上的使用

1、方式一

在windows的文件管理器的地址栏输入\ip地址\share,回车打开

share是共享文件夹的名称

2、方式二

也可以在网络中找到自己Linux系统的主机名称,前提安装的wsdd服务(第三步)

3、方式三

在此电脑右键,添加一个网络位置,进行配置

输入 \ip地址\share

五、可能出现的问题

|---------------------------------------------------------------------------------------------------------------------------------------|
| 参考下一篇: ++🔗解决在window资源管理器的地址栏中输入\\192.168.x.x\sambashare之后显示无法访问++ |

相关推荐
aitav012 分钟前
⚡️ Linux Docker 基本命令参数详解
linux·运维·docker
姓刘的哦1 小时前
ubuntu中使用docker
linux·ubuntu·docker
代码程序猿RIP1 小时前
【Linux】(1)—进程概念-⑤进程调度
linux·运维
我命由我123451 小时前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
MrWang.1 小时前
Ubuntu中SSH服务器安装使用
服务器·ubuntu·ssh
_lizhiqiang1 小时前
联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
linux·运维·ubuntu·r9000p·无线网卡·8852ce
PT_silver2 小时前
tryhackme——Abusing Windows Internals(进程注入)
windows·microsoft
心随_风动2 小时前
SUSE Linux 发行版全面解析:从开源先驱到企业级支柱
linux·运维·开源
爱炸薯条的小朋友2 小时前
C#由于获取WPF窗口名称造成的异常报错问题
windows·c#·wpf
笑醉踏歌行3 小时前
NVM,Node.Js 管理工具
运维·ubuntu·node.js