Linux自学笔记——文件共享之samba

简介:

 Samba:Service Message Block, 是linux和unix系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置NetBIOS over TCP/IP使得samba不但能与局域网主机分享资源,还能与全世界电脑分享资源。
协议端口:137/udp,138/udp,139/tcp, 139/tcp
NetBIOS:windows基于主机实现互相通信的机制;15个字符;
CIFS:cifs是一个新提出的协议,它使程序可以访问远程internet计算机上的文件并要求此计算机提供服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回回应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议和文件传输协议和超文本协议的一个实现。
Windows默认支持CIFS和SMB,linux可以通过CIFS便可以跟windows之间通信。
Samba:
nmbd:netbios
smbd:cifs (
winbindd:
UNC路径:\SERVER\shared_name
交互式数据访问:
#smbclient –L HOST –U USERNAME
获取到共享信息后,
#smbclient //SERVER/shared_name –U USERNAME
基于挂载的方式访问:
Mount –t cifs //SERVER/shared_name /mount_point –o username=USERNAME,password=PASSWORD
服务器:
#yum –y install samba
服务脚本:
/etc/rc.d/init.d/nmb
/etc/rc.d/init.d/smb
主程序:
/usr/sbin/nmbd:
Network Naming Service,主要是完成NetBIOS名称解析;
/usr/sbin/smbd:
SMB/CIFS Service:核心主程序,完成SMB/CIFS服务
主配置文件:
/etc/samba/smb.conf
Samba用户:
账号:都是系统用户,/etc/password
密码:samba服务自有密码文件,江系统用户添加为samba的命令为:smbpasswd
smbpasswd:
-a Sys_User:添加系统用户为samba用户
-d:禁用samba用户
-e:启用samba用户
-x:删除samba用户
主配置文件:/etc/samba/smb.conf
全局设定(global段)
特定共享的设定
私有家目录
打印机共享
自定义共享: 
[shared_name]
Path =/path/to/share_directory
Comment = Comment String
Guest ok = {yes|no} 
Public = {yes|no}
Writable = {yes|no}
Read only = {yes|no}
Write list = USERNAME,+GROUP_NAME(也可以写作@GROUP_NAME)
Note:修改samba的配置文件后必须要restart才能生效;

示例:建立samba共享,共享目录为/data,要求:
1) 共享名为shared,工作组为claude;
2) 添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,U币;ubuntu不属于develop组;密码均为用户名;
3) 添加samba用户gentoo,centos和ubuntu,密码均为claude666;
4) 此samba共享的shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5) 此samba共享服务仅允许来自192.168.19.0/24网络的主机访问;
步骤:
以下samba服务器为192.168.19.134,测试主机为192.168.19.135 , 192.168.115.32

  1. 创建共享目录;
    Linux自学笔记——文件共享之samba
  2. 创建相关用户相关组;
    Linux自学笔记——文件共享之samba
    设置密码:
    Linux自学笔记——文件共享之samba
  3. 添加samba用户;
    Linux自学笔记——文件共享之samba
  4. 设置共享目录权限;
    Linux自学笔记——文件共享之samba
  5. 编辑配置文件/etc/samba/smb.conf;
    1) 设置工作组,已经访问权限;
    Linux自学笔记——文件共享之samba
    2) 自定义共享;
    Linux自学笔记——文件共享之samba
  6. 检测文件语法错误;
    Linux自学笔记——文件共享之samba
  7. 启动服务;(需启动两个服务)
    Linux自学笔记——文件共享之samba
    测试:
  8. 查看指定服务器上的共享信息;
    Linux自学笔记——文件共享之samba
  9. 以挂载方式访问;
    1) 以ubuntu用户登录挂载访问;
    Linux自学笔记——文件共享之samba
    2) 以gentoo用户挂载访问;
    Linux自学笔记——文件共享之samba
    可以看出以gentoo用户登录挂载,可以读写;
    3) 在windows上访问;
    Linux自学笔记——文件共享之samba

Samba-swat:
Samba-swat是一个基于web的samba管理工具,支持从任何具有web浏览器的计算机进行GUI配置。Swat本身就是一个服务器,独立于samba服务器。其服务进程又被设计为超级守护进程xinetd管理,由xinetd代为监听在tcp的901端口。

  1. 安装samba-swat;
    #yum install –y samba-swat
  2. 编辑配置文件/etc/xinetd.d/swat
    Linux自学笔记——文件共享之samba
  3. 启动xinetd服务并查看901端口是否在监听状态;
    Linux自学笔记——文件共享之samba
  4. 测试;
    1) 要求验证账号:
    Linux自学笔记——文件共享之samba
    2) 成功登陆管理界面:
    Linux自学笔记——文件共享之samba
    Note:如果在swat配置里使用本机访问,安全性有了保证,而如果使用远程访问swat,密码将以明文形式发送,安全性得不到保障,所以可以用ssl加密swat;

本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/2050643,如需转载请自行联系原作者
相关文章
|
20天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
53 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
6天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
59 14
|
5天前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
30 6
|
7天前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
44 6
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
130 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
515 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
102 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
84 2
|
27天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
53 14
Linux 10 个“who”命令示例
|
7天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
29 8