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

相关推荐
不会飞的鲨鱼1 小时前
Windows系统下【Celery任务队列】python使用celery 详解(二)
开发语言·windows·python
扛枪的书生3 小时前
AD 侦查-LLMNR 毒化
windows·渗透·kali·提权·域渗透
liulilittle3 小时前
Linux 高级路由配置策略之打通双/三网卡路由转发
linux·运维·网络
_Chipen3 小时前
5.9-selcct_poll_epoll 和 reactor 的模拟实现
linux·网络·网络协议·tcp/ip
学习编程的gas3 小时前
Linux基本指令(一)
linux·运维·服务器
悟空空心3 小时前
iperf3的介绍与舒勇
linux·网络
一尘之中4 小时前
二进制与十六进制数据转换:原理、实现与应用
linux·c语言·人工智能
风口上的吱吱鼠4 小时前
记录 ubuntu 安装中文语言出现 software database is broken
linux·服务器·前端
newdf观察者4 小时前
penEuler操作系统结合豆包测试github仓库8086-Emulator项目
linux·运维·github
绵绵细雨中的乡音4 小时前
Linux进程学习【进程地址】
linux·学习