在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之后显示无法访问++ |

相关推荐
Narutolxy4 分钟前
Ubuntu 下 Docker 企业级运维指南:核心命令与最佳实践深度解析20250309
运维·ubuntu·docker
施天助14 分钟前
开发ai模型最佳的系统是Ubuntu还是linux?
人工智能·ubuntu
酥暮沐30 分钟前
K8S 集群搭建——cri-dockerd版
linux·容器·kubernetes
美好的事情总会发生1 小时前
SDIO(Secure Digital Input Output)详解
linux·嵌入式硬件·硬件工程
嘉琪coder1 小时前
显示器报废,win笔记本远程连接mac mini4 3种方法实测
前端·windows·mac
liuyunluoxiao1 小时前
进程(上)【Linux操作系统】
linux
琪琪花2 小时前
sshfs 将远程服务器上的文件系统挂载到本地目录
linux·运维·服务器
dreamczf2 小时前
基于Linux系统的边缘智能终端(RK3568+EtherCAT+PCIe+4G+5G)
linux·人工智能·物联网·5g
钡铼技术物联网关2 小时前
导轨式ARM工业控制器:组态软件平台的“神经中枢”
linux·数据库·人工智能·安全·智慧城市
若云止水4 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->ctx
linux·nginx·ubuntu