Linux-samba共享
Samba服务器通信协议(Server Messages Block)就是是为了解决局域网内的文件或打印机等资源的共享服务问题,让多个主机之间共享文件变成越来越简单
一、前置条件
1.Linux和Windows系统之间网络能互通
[root@samba ~]# ping 192.168.205.89
2.检查linux系统版本
[root@samba ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
3.检查selinux状态
[root@samba ~]# getenforce
Disabled ---->(此状态为关闭状态,若不是请按如下操作)
① 关闭SELINUX:
[root@bogon ~]# vim /etc/sysconfig/selinux

② 重启系统
[root@bogon ~]# reboot
4.检查firewall状态
[root@samba ~]# firewall-cmd --state

否则,按照下述操作关闭防火墙
#关闭防火墙
systemctl stop firewalld
#开机禁用防火墙
systemctl disable firewalld
二、安装samba服务端
1.检查linux系统是否安装了Samba
[root@samba ~]# rpm -qa|grep samba

2.安装Samba
[root@samba ~]# yum install -y samba
三、配置samba服务端
1.创建smb的访问账户和密码
[root@samba home]# adduser myshare
[root@samba home]# smbpasswd myshare
2.设置文件所有者和文件关联组的,-R : 处理指定目录以及其子目录下的所有文件
[root@samba home]# chown -R myshare /home/myshare/
3.变更文件或目录的所属群组
[root@samba home]# chgrp -R myshare /home/myshare/
4.控制用户对文件的权限的命令
[root@samba home]# chmod -R 777 /home/myshare/
5.修改/etc/samba/smb.conf文件,配置共享文件
[root@samba myshare]# vim /etc/samba/smb.conf
|
# See smb.conf.example for a more detailed config file or config file = /etc/samba/smb.conf.d/%U.smb.conf #自定义配置文件路径 workgroup = SAMBA passdb backend = tdbsam printing = cups [printers] |
[root@samba myshare]# vim /etc/samba/smb.conf.d/u1.smb.conf
|
[global] [u1] |
6.增加共享目录文件的操作
[root@samba opt]# mkdir Download
[root@samba opt]# chown -R myshare /opt/Download/
[root@samba opt]# chgrp -R myshare /opt/Download/
[root@samba opt]# chmod -R 777 /opt/Download/
[root@samba myshare]# vim /etc/samba/smb.conf

【操作过程基本与上述一致,增加更多以此类推】
四、启动smb
1.启动smb
[root@samba ~]# systemctl start smb
2.enable开机自动启动
[root@samba ~]# systemctl enable smb
3.查看服务是否启动:Active:active(running)代表启动成功
[root@samba ~]# systemctl status smb

五、验证
1.打开WIN + R
输入“\\192.168.205.89”
六、卸载 samba
第一、 首先检查Samba服务包
rpm -qa | grep samba

第二、逐个删除,输入命令#rpm -e samba
[root@samba ~]# rpm -e samba-common-tools-4.13.3-3.el8.x86_64
第三、逐个删除,输入命令#rpm -e samba
[root@samba ~]# rpm -e samba-libs-4.13.3-3.el8.x86_64
第四、剩下的可能删不掉,则使用rpm -e --nodeps去删除
[root@samba ~]# rpm -e --nodeps samba-client-libs-4.13.3-3.el8.x86_64
[root@samba ~]# rpm -e --nodeps samba-common-libs-4.13.3-3.el8.x86_64
[root@samba ~]# rpm -e --nodeps samba-common-4.13.3-3.el8.noarch
samba已经不存在了

★ samba参数详细说明
一、linux samba 如何实现指定用户看见此文件夹,而其他用户无法看见
方法1:
[global]
config file = /etc/samba/%U.smb.conf
方法2:
[global]
include = /etc/samba/%U.smb.conf
config file和include的区别是:
使用configfile时,当以tomyang的身份访问Samba服务器,只能浏览到smbtest,其他在smb.conf中定义的共享资源都无法查看;
当以tonyzhang的身份访问Samba服务器,只能浏览到smbtest1,其他在smb.conf中定义的共享资源都无法查看。
使用include时,当以tomyang的身份访问Samba服务器,除了可以浏览到smbtest,其他在smb.conf中定义的共享资源也可以浏览到;
当以tonyzhang的身份访问Samba服务器,除了可以浏览到smbtest1,其他在smb.conf中定义的共享资源也可以浏览到。
二、linux samba 实现A用户创建文件及文件夹后B用户可访问编辑等此文件或文件夹
① create mode 和create mask
Create mode=0664 //定义用户在此共享资源中创建的文件的权限。 此例中为:拥有者和拥有者组有读和写的权限,而其他用户仅为读的权限(r=4,w=2,x=1)。
② directory mode 和directory mask
Directory mode =0775 //在共享文档中创建的文件夹的权限。 此例为拥有者和组有读写执行的权限,其他用户只有读和执行的权限。
③ force create mode =0755
//即强制性规定在共熟文档下创建的文件至少拥有755的权限。即最低权限的设定。
可以覆盖 create mode 设定的权限。当create mode中的权限与此处设定的权限相冲突时,取两者中权限高的。
如果此处设定的权限比较低,而create mode中设定的权限比较高(假如为777),将以create mode中定义的777权限为准。
④ force directory mode =775 //此项与上面的意思一样,只是此处定义的是创建文件夹的最低权限。
⑤ force group 和force user
//规定创建的文件或文件夹的拥有者和组拥有者是谁 。一般这两个值为空,则表示拥有者和组拥有者为创建文件者。
如设定值,如force group=khp,Force user=khp,则不管是谁创建的文件和文件夹,拥有者都为khp和khp组。
⑥ public = yes //是否允许匿名访问
⑦ Max connections =10 //设置此共享资源的最大连接数。此例为10个用户。
三、软链接共享
① 在配置文件的“[global]”节的最后,加上下面三条设置:
follow symlinks = yes
wide links = yes
unix extensions = no
② 重启smb 服务(“systemctl restart smb”)。
Linux-samba共享的更多相关文章
- win7无法登陆linux samba共享
网上查了一下资料,总共有以下几种做法: 1.防火墙 2. Open the Run command and type "secpol.msc". Press "conti ...
- Linux网络共享管理(ssh,nfs,samba)
OpenSSH服务器: ssh协议:提供安全的ssh环境用于远程管理,默认端口:22: 服务名称:sshd openssh-server包的安装文件: 使用ssh客户端程序: 连接目标主机: ssh ...
- Linux下安装部署Samba共享盘的操作手册
简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...
- Linux:SAMBA共享、NFS共享、Autofs自动挂载
SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...
- 如何通过Samba共享Linux文件夹
https://blog.csdn.net/stu059074244/article/details/77766155 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Window ...
- linux之SAMBA共享目录服务端架设
samba 共享目录 1.SAMBA服务概述 协议 监听端口137 架构 samba:Linux系统的一种文件共享程序服务 通常在主机文件共享的应用场景中,由于文件系统的差异化,Windows和L ...
- windows怎么访问linux的samba共享目录
windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...
- linux --> ubuntu和mac通过samba共享
ubuntu和mac通过samba共享 如果想快速配置,直接跳到第五步. 一.安装smb 执行下列命令 sudo apt-get install samba sudo apt-get install ...
- Linux安装配置Samba共享文件系统
Samba共享文件系统搭建与配置: 1.Samba服务端:yum install samba samba-client cifs-utilscd /etc/samba/cp smb.conf smb. ...
- Linux主机共享目录给Windows主机的方法
Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...
随机推荐
- websocket-sharp 实现websocket
第一步,使用VS创建一个应用程序 第二步,添加引用 websocket-sharp DLL文件,或者NuGet程序包中添加 第三部,创建Laputa 类 using WebSocketSharp; u ...
- Android JetPack~ LiveData (一) 介绍与使用
一般情况下LiveData都是搭配这ViewModel使用,这里先介绍一下LiveData,再结合ViewModel使用 Android数据绑定技术一,企业级开发 Android数据绑定技术二,企业级 ...
- PX4源码地址和wiki
[源码] https://github.com/987419640/Firmware [wiki] https://dev.px4.io/v1.9.0/zh/concept/architecture. ...
- 【Go语言基础】slice
一.概述 数组(Array)的长度在定义之后无法再次修改:数组是值类型,每次传递都将产生一份副本. 显然这种数据结构无法完全满足开发者的真实需求.Go语言提供了数组切片(slice)来弥补数组的不足. ...
- vue开发大屏项目屏幕适配问题解决方案
1.新建自定义指令文件如下: 2.文件中插入一下代码: import { App, Directive, DirectiveBinding, nextTick } from 'vue' import ...
- A*算法小记
\(\text{A*}\) 一种启发式搜索 和暴搜的差别是多了一个估价函数,每次取出一个估算最优的状态以期更高效完成任务 重点在于估价函数 \(\text{h*(n)}\) 的设计,若实际代价为 \( ...
- Java面向对象进阶第一天
面向对象高级第一天 static关键字 是静态的意思,可以修饰成员变量,也可以修饰成员方法 成员变量的分类 静态成员变量 有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问. 什 ...
- PostgreSQL Repmgr集群
一.概述 repmgr是一套开源工具,用于管理PostgreSQL服务器群集内的复制和故障转移.它支持并增强了PostgreSQL的内置流复制,该复制流提供了一个读/写主服务器以及一个或多个只读备用数 ...
- PostgreSQL性能优化综合案例 - 1
[测试模型] 设计一个包含INSERT, UPDATE, SELECT语句的业务模型用于本优化案例. [测试表] create table user_info (userid int, engname ...
- PHP解密支付宝小程序的加密数据,手机号等。
1.小程序端代码示例 my.getPhoneNumber({ success: (res) => { let encryptedData = res.response; my.httpReque ...