linux-samba服务配置与应用

1.了解samba的配置文件

2.熟悉samba服务的实例

以前我们在windows上共享文件的话,只需右击要共享的文件夹,然后选择共享相关的选项设置即可,然后如何实现windows和linux的文件共享呢,这就涉及到了samba服务,这个软件配置起来也不难,使用也非常简单

samba配置文件是smb.conf

安装系统的时候大多会默认安装samba,如果没有安装,在Centos上,只需要运行这个命令即可安装:yum install -y samba-client

进入目录查看文件

Samba的配置文件为/etc/samba/smb.conf,通过修改配置文件来完成我们的各种需求,打开这个配置文件,你会发现很多内容都用#或;注释掉了,先看一下未被注释的部分

主要有以上三部门,【global】【homes】【printers】

global:定义全局的配置,

workgroup: #用来定义工作组,一般我们需要把这个SAMBA改为WORKGROUPsecurity=user    #这里指定samba的安全等级,关于安全等级有四种
share:#用户不需要账户及密码即可登录samba服务器
user:#由提供服务的samba服务器负责检查账户及密码
server:#检查账户及密码的工作由另一台windows或samba服务负责
domain:#指定windows域控制服务器来验证用户的账户及密码passdb backend=tdbsam #passdb backend(用户后台,samba有三种用户后台:
smbpasswd,tdbsam,ldapsamsmbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或虚拟用户)设置一个samba密码tdbsam:使用数据库文件创建用户数据库,数据库文件叫passwdb.tdb 在/etc/samba中
passdb.tdb用户数据库可以使用smbpasswd -a 创建samba用户,要创建的samba用户必须先是系统用户
也可以使用pdbedit创建samba用户,pdbedit参数很多,列出几个主要的:
pdbedit -a username:新建samba用户
pdbedit -x username:删除samba用户
pdbedit -L :列出samba用户列表,读取passwdb.tdb数据库文件
pdbedit -Lv:列出samba详细列表
pdbedit -c "[D]" -u username:暂停该samba用户账号
pdbedit -c "[]" -u username:恢复该samba用户账号ldapsam:基于LDAP账户管理方式验证用户,首先要建立LDAP服务,设置"passdb backend=ldapsam:ldap://LDAP Server"load printers和cups options两个参数用来设置打印机相关netbios name=MYserver  #设置出现在网络邻居的主机名
hosts allow=127. 192.168.12. 192.168.13. #设置子网127. 192.168.12. 192.168.13.的网段访问smb服务
log file=/var/log/samba/$m.log  #定义samba日志,这里的%m是上面的netbios name
max log size=50   #指定日志的最大容量[homes]该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单独的文件共享的环境来说,这里可以注释
[printers]该部分设置打印机共享

1.使用User来搭建smb服务

1.先关闭防火墙和selinux

2.配置如下
[root@localhost samba]# useradd -M test1   //创建用户test1,不要家目录
[root@localhost samba]# smbpasswd -a test1   //设置test1的smbpasswd密码
New SMB password:
Retype new SMB password:
Added user test1.
[root@localhost samba]# echo 'test1 =hello'>/etc/samba/smbusers  //系统中的test1映射为hello
[root@localhost samba]# cat /etc/samba/smbusers  
test1 =hello
[root@localhost /]# mkdir share
[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   share  sys  usr
boot  etc  lib   media  opt  root  sbin  srv    tmp  var
[root@localhost /]# cd share/
[root@localhost share]# mkdir smbshare
[root@localhost share]# chown test1.test1 smbshare/   //修改属性,smbshare属主属组都为test1[global]workgroup = WORKGROUP  #工作组security = user  #安全模式username map=/etc/samba/smbusers  #解析名字的文件位置printing = cupsprintcap name = cupsload printers = yescups options = raw
[test1]path=/share/smbshare  #共享文件的路径write list=hello  #指定可以写入的用户read only=No  #不仅只读,可读可写browseable=yes #可查看共享文件  //默认就是yes,可见的guest ok =yes  #所有人均可访问共享目录 和下一条一样public =yes  #允许匿名用户访问[homes]comment = Home Directoriesvalid users = %S, %D%w%Sbrowseable = Noread only = Noinherit acls = Yes

以下配置也是可以读可以写可以删除

[root@localhost /]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.[global]workgroup = WORKGROUPsecurity = userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw[homes]comment = Home Directoriesvalid users = %S, %D%w%Sbrowseable = Noread only = Noinherit acls = Yes[printers]comment = All Printerspath = /var/tmpprintable = Yescreate mask = 0600browseable = No[print$]comment = Printer Driverspath = /var/lib/samba/driverswrite list = @printadmin rootforce group = @printadmincreate mask = 0664directory mask = 0775
[share1]path=/share/smbsharewritable=yespublic=nobrowseable=yes
最后要记得开启smb服务
systemctl start smb

3.windows测试 

1.在控制面板开启smb和tcp/ip协议

测试,还需要打开网络共享中心启用

之后可以进行复制粘贴等操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 整合 Redis 步骤详解

文章目录 1. 引言2. 添加依赖3. 配置 Redis 连接信息4. 创建 Redis 操作服务类5. 使用 RedisTemplate 或 ReactiveRedisTemplate6. 测试 Redis 功能7. 注意事项8. 总结 Redis 是一个高性能的键值存储系统,常用于缓存、消息队列等多种场景。将 Redis 与 Spring Boot …

缓存商品、购物车(day07)

缓存菜品 问题说明 问题说明:用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 结果: 系统响应慢、用户体验差 实现思路 通过Redis来缓存菜品数据,减少数据库查询…

C++ 在2D与3D游戏的开发库

在当今的游戏开发领域,C++以其高效性、灵活性和强大的性能成为众多开发者首选的语言之一。 C++游戏库流行程度排行榜单 Unreal Engine - 因其全面的功能集和易用性成为最受欢迎的3D引擎之一。Cocos2d-x - 在移动2D游戏开发领域占据重要位置,因其高效性能和易用性而备受推崇…

K8S中Service详解(三)

HeadLiness类型的Service 在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLiness Service,这类Service不会分配Cluster IP,…

npm install 报错:Command failed: git checkout 2.2.0-c

[TOC](npm install 报错:Command failed: git checkout 2.2.0-c) npm install 报错:Command failed: git checkout 2.2.0-c export NODE_HOME/usr/local/node-v14.14.0-linux-x64 npm config set registry https://registry.npmmirror.com 使用如上环…

DDD - 微服务落地的技术实践

文章目录 Pre概述如何发挥微服务的优势怎样提供微服务接口原则微服务的拆分与防腐层的设计 去中心化的数据管理数据关联查询的难题Case 1Case 2Case 3 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服…

【Leetcode 热题 100】763. 划分字母区间

问题背景 给你一个字符串 s s s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s s s。 返回一个表示每个字符串片段的长度的…

ChatGPT是强人工智能吗?

ChatGPT是强人工智能吗? 本文从人工智能发展的三个阶段的角度,分析当前强大的AI大模型所处的阶段,并通过对比各阶段的定义,明确各阶段的特点和未来发展方向; Narrow AI(弱人工智能)、AGI(人工通用智能)和 ASI(人工超级…

通过视觉语言模型蒸馏进行 3D 形状零件分割

大家读完觉得有帮助记得关注和点赞!!!对应英文要求比较高,特此说明! Abstract This paper proposes a cross-modal distillation framework, PartDistill, which transfers 2D knowledge from vision-language models …

深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能

在当下互联网技术飞速发展的浪潮中,Nginx 凭借其轻量级、高性能的特性,在 Web 服务器和反向代理服务器领域脱颖而出,成为众多开发者和运维工程师的得力工具。它不仅能高效处理静态资源,在负载均衡、反向代理等方面也表现出色。然而…

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件,最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型,具备高吞吐、低延迟、高可用和强一致性的特点,适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …

mysql数据库启动出现Plugin ‘FEEDBACK‘ is disabled.问题解决记录

本人出现该问题的环境是xampp,异常关机,再次在xampp控制面板启动mysql出现该问题。出现问题折腾数据库之前,先备份数据,将mysql目录下的data拷贝到其他地方,这很重要。 然后开始折腾。 查资料,会发现很多…

MySQL日期时间函数详解

简介 本文主要讲解MySQL中的日期时间函数,包括:NOW、CURRENT_TIMESTAMP、CURDATE、CURRENT_DATE、CURTIME、CURRENT_TIME、STR_TO_DATE、DATE_FORMAT、TIME_FORMAT、DATE、TIME、YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、QUARTER、YEARWEEK、WEEKDAY、…

ChatGPT 写作系列

ChatGPT 辅助写作 | 专栏 1 写作核心​ 先讲一下 ChatGPT 写作的核心。核心就是需要有文章大纲,而且文章大纲要足够细致。​ 具体怎么做呢?​ 提前准备多级标题大纲,刚开始有两个级别的标题就行,等用熟练了再细化。分一级标题&…

(1)STM32 USB设备开发-基础知识

开篇感谢: 【经验分享】STM32 USB相关知识扫盲 - STM32团队 ST意法半导体中文论坛 单片机学习记录_桃成蹊2.0的博客-CSDN博客 USB_不吃鱼的猫丿的博客-CSDN博客 1、USB鼠标_哔哩哔哩_bilibili usb_冰糖葫的博客-CSDN博客 USB_lqonlylove的博客-CSDN博客 USB …

【Java】Java抛异常到用户界面公共封装

前言 在Java中处理代码运行异常是常见的技术点之一,我们大部分会使用封装的技巧将异常进行格式化输出,方便反馈给用户界面,也是为了代码复用 看看这行代码是怎么处理异常的 CommonExceptionType.SimpleException.throwEx("用户信息不…

mkv转码mp4(ffmpeg工具)

基于windows,Linux也可以用,都是命令行 下载路径(https://github.com/BtbN/FFmpeg-Builds/releases) 下载安装包:ffmpeg-n6.1-latest-win64-lgpl-6.1.zip,(根据自己的平台选择下载)并…

力扣-数组-414 第三大的数

解析 先利用set去重&#xff0c;然后用逆向遍历找到第三大的数 代码 class Solution { public:int thirdMax(vector<int>& nums) {set<int> numsToset;for(int i 0; i<nums.size(); i){numsToset.insert(nums[i]);}int index;if(numsToset.size() > …

没有公网IP实现seafile本地IP访问和虚拟局域网IP同时访问和上传文件

前言 Ubuntu 24.04 LTSDocker 安装 seafileOpenWrtTailscale Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘中&#xff0c;已经实现了本地局域网放问Ubuntu IP来访问Seafile&#xff0c;以及通过 Ubuntu 的 Tailscale IP 访问Seafile。但是&#xff0c;文…