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

相关推荐
erzong2318 小时前
Linux操作系统:线程池&踩坑修复
linux·运维·算法
云计算练习生8 小时前
什么是 Bash?Linux 默认 Shell 的核心功能
linux·操作系统·bash·shell·命令解释器
fatCatLA8 小时前
记一次狼狈的装机
windows
龙信科技8 小时前
【国内电子数据取证厂商龙信科技】Windows 权限维持型后门分析与防御
大数据·windows·科技·电子数据取证
FlightYe9 小时前
音视频修炼之容器与协议(二):HLS和DASH流媒体
android·linux·ffmpeg·音视频·android runtime·dash
承渊政道9 小时前
Linux网络学习【从深入理解网络层原理到IP分片与重组全过程剖析】
linux·计算机网络·ubuntu·ip分片与重组
橘色的喵9 小时前
嵌入式Linux编程,如何把硬件中断交给用户态--UIO 的机制
linux·mcu·isr·中断·uio
~城南花已开~9 小时前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
倔强的石头10610 小时前
【Linux指南】进程通信系列(四):命名管道 FIFO —— 让陌生进程按名字见面
linux·服务器·网络
段一凡-华北理工大学10 小时前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章03:热风炉烧炉与风温的决定因素
大数据·linux·人工智能·能源·热风炉·高炉能源优化