linux文件服务之Samba

简介:

1、Samba   

         

Samba服务 

          Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务          器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。


作用:共享目录(smb协议)

软件:samba 服务端, samba-client 客户端 

配置文件:/etc/samba/smb.conf 

服务:smb, nmb 

端口:smb ---> 139/tcp,  445/tcp    提供文件共享功能

 nmb ---> 137/udp,  138/udp 提供解析计算机名称

配置文件:/etc/samba/smb.conf


全局配置


[global]

        workgroup = MYGROUP>>>设置工作组名称

        server string = Samba Server Version %v>>>显示samba软件版本信息


interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24>>>samba服务监听的IP地址


hosts allow = 127. 192.168.12. 192.168.13.>>>设置仅允许哪些主机可访问

hosts deny = 192.168.12.  192.168.1.1/24>>>拒绝哪些主机可访问

security = user>>> 基于用户认证的访问 

share>>> 匿名访问

共享目录配置


[共享名称]

comment = >>> 描述信息

path = /bj>>> 指定目录名称

browseable = yes >>> 可下载文件

writable = yes >>> 可上传文件

public = yes >>> 允许所有用户访问 

write list = user1>>> 仅允许user1可上传文件 


示例: 


环境描述:

Linux    192.168.122.105Centos 7.2 文件共享服务器

Windows/Linux 客户端 

需求:

通过samba软件将本地的/caiwu目录共享, 客户端可通过martin用户访问,仅允许其下载文件  

1) 关闭SELinux, 防火墙 


[root@file-server ~]# setenforce 0

[root@file-server ~]# getenforce 

Permissive

[root@file-server ~]# vim /etc/sysconfig/selinux 


[root@file-server ~]# systemctl stop firewalld.service 

[root@file-server ~]# systemctl disable firewalld.service 

2) 安装软件  


[root@file-server ~]# yum install -y samba samba-client

3) 编辑配置文件,共享/caiwu目录


[root@file-server ~]# mkdir /caiwu

[root@file-server ~]# touch /caiwu/{1..5}.mp3

[root@file-server ~]# vim /etc/samba/smb.conf 

        [caiwu]

        comment = It is a test

        path = /caiwu

        browseable = yes


4) 创建共享用户 


[root@file-server ~]# useradd martin

[root@file-server ~]# smbpasswd -a martin

New SMB password:

Retype new SMB password:

Added user martin.


[root@file-server ~]# pdbedit -L>>> 查看共享用户

martin:1001:

[root@file-server ~]# 



5) 启动服务 


[root@file-server ~]# systemctl start smb

[root@file-server ~]# systemctl enable smb

 

[root@file-server ~]# ss -antp | grep smbd

LISTEN     0      50           *:139                      *:*                   users:(("smbd",pid=2804,fd=38))

LISTEN     0      50           *:445                      *:*                   users:(("smbd",pid=2804,fd=37))

LISTEN     0      50          :::139                     :::*                   users:(("smbd",pid=2804,fd=36))

LISTEN     0      50          :::445                     :::*                   users:(("smbd",pid=2804,fd=35))

6) 测试访问 


Windows客户端: 


\\192.168.122.105


取消用户宿主目录的共享

[root@file-server ~]# vim /etc/samba/smb.conf 


#[homes]

#       comment = Home Directories

#       browseable = no

#       writable = yes


[root@file-server ~]# systemctl restart smb

Linux客户端:


[root@client ~]# yum install -y samba-client


[root@client ~]# smbclient //192.168.122.105/caiwu -U martin

配置允许martin用户可上传文件  


1) 编辑配置文件 


[root@file-server ~]# vim /etc/samba/smb.conf 

[caiwu]

...

writable = yes 

[root@file-server ~]# systemctl restart smb


2) 设置目录的本地权限  


[root@file-server ~]# setfacl -m u:martin:rwx /caiwu/

示例: 


通过samba软件将本地的/shichang目录共享,允许martin用户下载文件,允许admin用户上传文件  

1) 创建目录,创建共享用户 


[root@file-server ~]# mkdir /shichang

[root@file-server ~]# touch /shichang/{1..5}.jpg

[root@file-server ~]# 

[root@file-server ~]# useradd admin

[root@file-server ~]# smbpasswd -a admin

New SMB password:

Retype new SMB password:

Added user admin.

[root@file-server ~]# 

[root@file-server ~]# pdbedit -L

martin:1001:

admin:1002:

[root@file-server ~]# 



2) 编辑配置文件


[root@file-server ~]# vim /etc/samba/smb.conf 


[shichang]

    path = /shichang

    browseable = yes

    write list = admin


[root@file-server ~]# systemctl restart smb


[root@file-server ~]# chown admin /shichang/

[root@file-server ~]# ls -ldh /shichang/

drwxr-xr-x. 2 admin root 66 2月  21 12:00 /shichang/

[root@file-server ~]# 

3) 测试访问 


清除windows的共享缓存 

net use * /del 

windows设置网络映射驱动器访问共享  











本文转自 北冥有大鱼  51CTO博客,原文链接:http://blog.51cto.com/lyw168/1957466,如需转载请自行联系原作者
目录
相关文章
|
数据可视化 安全 关系型数据库
写给工程师的 MacBook 商用级大模型知识库部署方案(上)
写给工程师的 MacBook 商用级大模型知识库部署方案(上)
1269 2
|
云安全 人工智能 Cloud Native
科技向“实”万物生长,2023年云计算五大技术趋势展望
云计算也即将开启下一个十年的全新篇章
5182 0
科技向“实”万物生长,2023年云计算五大技术趋势展望
|
存储 JavaScript 前端开发
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
824 0
|
10月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
491 11
|
机器学习/深度学习 边缘计算 监控
基于YOLOv8的火灾识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8与PyQt5打造,实现图片、视频及摄像头实时火灾检测。包含2K+标注数据集、预训练权重、完整源码与教程,开箱即用。系统具备高性能、多输入支持与可视化界面,适合应急预警与安防监控场景,助力快速构建火灾识别系统。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek vs. ChatGPT:大语言模型的技术分野与应用边界全解析
DeepSeek更适合中文环境下对语言理解和生成准确性要求高、专业领域内容生成需求大,以及对成本敏感、实时性要求高和硬件资源有限的场景。ChatGPT则更适合需要处理多种语言,尤其是以英文等西方语言为主,以及对创意写作、开放域对话有需求,对成本和实时性要求不高且有强大硬件支持的场景。两款模型各有侧重,用户可根据具体需求选择最适合的工具。
|
小程序 前端开发 IDE
校园二手书交易小程序源码下载
校园二手书交易小程序有四个模块:首页、发布、消息和我的。用户可以在小程序上进行二手书交易、扫码或者输入ISBN发布二手书、用户之间可以发送聊天消息,同时小程序支持购买书籍后跑腿兼职配送,以及对订单评价等多个特色功能。
626 0
校园二手书交易小程序源码下载
|
人工智能 自然语言处理 搜索推荐
chatgpt这么火,现在AI搜索引擎有哪些呢?
国外AI搜索引擎包括ChatGPT,擅长自然语言处理与内容生成;Google Bard,提供智能个性化搜索体验;Microsoft Bing集成GPT模型增强智能检索;Perplexity AI以简洁答案及文献引用著称;Neeva强调隐私保护与无广告服务。国内方面,天工AI支持多种功能如知识问答与代码编程;腾讯元宝基于混元模型助力内容创造与学习;360AI搜索以精准全面的信息搜索见长;秘塔AI专注提升写作质量和效率;开搜AI搜索提供个性化智能搜索服务。以上引擎均利用先进AI技术提升用户体验。更多详情参阅[AI搜索合集](zhangfeidezhu.com/?page_id=651)。
796 8
chatgpt这么火,现在AI搜索引擎有哪些呢?
|
Java 中间件 API
【分布式技术专题】「Zookeeper中间件」给大家学习一下Zookeeper的”开发伴侣”—Curator-Framework(基础篇)
【分布式技术专题】「Zookeeper中间件」给大家学习一下Zookeeper的”开发伴侣”—Curator-Framework(基础篇)
896 98
【分布式技术专题】「Zookeeper中间件」给大家学习一下Zookeeper的”开发伴侣”—Curator-Framework(基础篇)
|
SQL 缓存 NoSQL
乐观锁的实现
乐观锁的实现
597 4

热门文章

最新文章