鸟哥的Linux私房菜学习笔记之SAMBA

发布时间:2020-06-24 01:44:50

来源:51CTO

阅读:185

作者:tomshen

NFS仅能让Unix/linux之间共享数据,CIFS仅能让Win之间沟通

SAMBA:

跨平台的文件共享服务

主要用于局域网内

SAMBA常见的应用:

共享文件与打印机服务

可以提供用户登录SAMBA主机时的身份认证,以提供不同身份用户的个别数据

可以进行Windows网络上的主机名解析(NetBIOS Name)

可以进行设备的共享(例如Zip、CD-ROM)

SAMBA是架构在NetBIOS这个通信协议上面开发出来的

NetBIOS

由IBM开发

NetBIOS: Windows基于于主机实现互相通信的机制;

15个字符

NetBIOS无法跨路由通信

通过NetBIOS over TCP/IP 可以实现跨路由使用SAMBA服务器所提供的功能

NetBIOS Name

由于NetBIOS主要定义在局域网内,因此并没有使用TCP/IP之类的传输协议,也就不需要IP的设置。

俩台主机间的通信,通过主机在NetBIOS协议中使用NetBIOS Name,每台主机使用不同的NetBIOS

文件数据在不同的NetBIOS Name之间沟通。

SAMBA的主要服务:

nmbd: 管理工作组,NetBIOS Name 等的解析,使用UDP 137,138端口,向客户端提供构造在IP之上的NetBios名字服务的NetBios名字服务器

smbd:管理SAMBA主机共享的目录,提供文件共享和打印服务的服务器进程。使用TCP 139和445端口。使用smb或cifs协议

向客户提供文件共享空间和打印服务。

SAMBA的常见局域网连接方式:

Peer/Peer对等模式(Workgroup model,对等模式)

每台计算机均可以独立运作,不受他人影响。

适用于小型的网络,或者是不需要常常进行文件数据共享的网络环境,或者每个用户都拥有该计算机的拥有权。

Domain model(主控模式)

将所有计算机的账号和密码都放置在一台主控计算机(PDC)上面,任何人使用任何计算机时,都需要通过PDC服务器的辨识后,才给以适当的权限。

SAMBA所需要的软件:

samba:samba服务端程序

samba-client:samba的Linux客户端

samba-common:服务端与客户端都会使用到的数据

SAMBA 用户账号必须要存在于Linux系统当中(/etc/passwd),但是SAMBA的密码与linux的密码文件并不相同

samba用户:

账号:都是系统用户, /etc/passwd

密码:samba服务自有密码文件,

将系统用户添加为samba的命令:pdbedit

pdbedit

-u :指定用户名

-a :添加一个可使用的SAMBA账号,账号需要在/etc/passwd 内存在

-r :修改一个账号的相关信息

-x :删除一个SAMBA账号

-L :列出目前在数据库当中的账号与UID等相关信息

-v :与 -L 搭配使用列出更详细的信息

修改SAMBA账号密码

smbpasswd:

SAMBA的配置文件:

/etc/samba/smb.conf #samba主配置文件

/etc/sysconfig/samba #提供启动smbd,nmbd时,还想要加入的相关参数。

/var/lib/samba/private/{passdb.tdb,secrets.tdb} 管理samba的用户账号/密码时,会用到的数据库文件

/usr/share/doc/samba-:samba技术手册

/usr/bin/{smbd,nmbd} #samba服务端服务程序

/usr/bin/{tdbdump,tdbtool} #samba3.0以后的版本中,用户的账号密码参数已经使用数据库管理,samba使用的数据库为TDB。

tdbdump可以查看数据库的内容,tdbtool可以进入数据库手动修改账户及密码参数。(需安装tdb-tools)

/usr/bin/smbstatus #列出当前samba的连接状况,包括PID,共享的资源,使用的用户来源等。

/usr/bin/pdbedit #管理samba用户数据

/usr/bin/testparm #检查主配置文件smb.conf的语法错误

/usr/bin/smbclient #查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功

/usr/bin/nmblookup #查出NetBios Name

/usr/bin/smbtree #查出工作组与计算机名称的树形目录分布图

SAMBA的主配置文件;(#号与;都是注释文件)

/etc/samba/smb.conf

主机信息的配置:

[global]

workgroup = MYGROUP #工作组的名称,共享文件客户端服务端工作组要相同

netbios name = MYSERVER #主机的NetBIOS Name名称,每部主机均不同

server string = Samba Server Version %v #主机的简易说明

display charset=xx 自己服务器上面的显示编码

unix charset=xx 在Linux服务器上所使用的编码

dos charset=xx Windows客户端的编码

host allow=IP 访问权限设定,指定IP的主机可以访问SAMBA服务

关于语言的设定可参考:

http://phorum.vbird.org/viewtopic.php?t=22001

log file=xx 日志文件的存储文件

max log size=xx 日志文件最大多大

security=xxx share,user,domain 三选一

share:共享的数据不需要密码,大家均可使用(安全性差)

user:使用samba服务器本身的密码数据库

domain:使用外部服务器的密码,也就是samba时客户端的意思,需要password server=IP 的设置值

encrypt passwords=YES 密码是否加密

passdb backend=数据库格式

共享信息的配置:

[共享名称]

path=xxx 实际共享的目录

comment:共享目录的说明

guest ok=yes 允许以缺省的guest用户权限进行访问(缺省权限为guest account 设置的权限,缺省设置为nobody,编译时指定)

browseable:是否让所有用户看到这个目录

writable:是否可以写入

write list=@组 可以进入此资源的特定用户组

create mode=xx 创建文件的相关权限

directory mode=xx 创建目录的权限

read only = yes 是否只读

检查配置文件语法正确:

testparm 命令

-v:查阅完整的参数设置,连同默认值也会显示出来

smbclient命令: 查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功

smbclient -L [//主机或IP] [-U 用户账号]

-L:仅查询后面连接的主机所提供的共享资源目录

-U:以指定的账号来尝试访问该主机的可用资源

基于挂载的方式访问:

mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD

鸟哥的linux私房菜运维篇,鸟哥的Linux私房菜学习笔记之SAMBA相关推荐

  1. 鸟哥的linux私房菜运维,《鸟哥的Linux私房菜》(基础篇)笔记整理

    第0章 计算机概率 1.计算机的五大单元:输入设备.输出设备.控制单元.算数逻辑单元.内存. 2.CPU的种类:精简指令集(RISC)和复杂指令集(CISC). 3.CPU的外频和倍频: 外频指CPU ...

  2. 鸟哥Linux私房菜_基础篇(第二版)_第七章学习笔记

    第七章 Linux文件和目录管理 绝对路径:以"/"开始 相对路径:以非"/"开始 其中,"."代表当前目录,".."代 ...

  3. 力作推荐!!!!   防线:企业Linux安全运维理念和实战(向世界500强企业学习Linux安全管理与运维之道)...

    防线:企业Linux安全运维理念和实战(向世界500强企业学习Linux安全管理与运维之道)      新书发售 http://product.dangdang.com/product.aspx?pr ...

  4. centos7 如何安装部署k8s_架构运维篇(五):Centos7/Linux中安装部署RocketMQ

    上一篇 架构运维篇(四):Centos7/Linux中Tomcat安装SSL证书实践 这一篇讲一下在Centos7/Linux安装RocketMQ,MQ的具体应用场景和使用就不再啰嗦了.我在没有使用过 ...

  5. linux服务器运维实战记录,linux运维好书推荐《高性能Linux服务器运维实战》

    本书整体分为4个篇幅,以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维(命令.shell编程).系统性能调优.智能运维监控平台构建.运维实战案例四个方面展开 ...

  6. linux运维工程师培训课程_《Linux运维工程师必学技能》完整版视频课程专题(1.0)...

    高性能负载均衡集群HAProxy实战视频课程 13节 4小时7分钟 课程目标: 欢迎大家加入 51CTO学院Linux交流群575837909,与喜欢学习Linux小伙伴们做朋友,一起为梦想增值.高性 ...

  7. 运维7年,对Linux的经验总结

    很多人都在提起linux,那么关于linux我们需要知道什么,我们又需要学习什么,我们学完之后又能干什么.今天我就专门用这篇文章来为大家解答疑惑. Linux有多重要? 在回答学什么之前,我们先看看为 ...

  8. Linux云自动化运维第六课

    Linux云自动化运维第六课 第九单元  openssh-server 一.openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 二.客户端连接方式 ss ...

  9. 运维基础(10)linux被删数据恢复方法

    https://sourceforge.net/projects/extundelete/extundelete --help 其中,参数(options)有: --version, -[vV],显示 ...

最新文章

  1. paip.http 404错误 的解决
  2. 创业公司如何实施敏捷开发(转载)
  3. [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)
  4. CF981H K Paths
  5. 信息安全风险评估实施
  6. vue-router.esm.js?fe87:16 [vue-router] Route with name 'page' does not exist
  7. treelist自动定位行_国内首创!金川集团千米深井双定位补偿摇台投用
  8. 素材模板源码资源下载站源码-带用户中心和VIP充值系统等
  9. 全国计算机二级等级考试项目有什么,全国计算机等级考试二级内容
  10. html.textboxfor属性,label标签中的for属性与form属性
  11. redis 重新加载_Redis持久化和Redis持久化方式
  12. 黑马程序员_面向对象的三大特征
  13. [tensorflow]tensorflw2.1.0张量和变量介绍
  14. 静态页面评论处理以及列表处理
  15. Application 用法
  16. SPSS26版本软件超详细安装指导+内附安装资源
  17. Python3调用新浪微博API抓取数据
  18. Unity3d iOS 内购详细流程总汇
  19. 为什么 Mac 适合编程?
  20. lamp架构部署 httpd编译、mysql二进制、php编译 网页访问效果

热门文章

  1. 2020大二下期学期计划
  2. 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)【CSR文件 和 PEM 文件什么区别】
  3. 相亲时候遇到的92年妹子,老衲想下手了
  4. 一文读懂微信身份证和背后的技术
  5. java中的repo什么意思_洛丽塔圈子常说的“repo”是什么意思?很多人都用错了
  6. 003day (css文本、列表、背景相关属性,精灵图的制作)
  7. 有限体积法(11)——交错网格
  8. Altera FPGA程序固化(软件+硬件)
  9. 高中学计算机都是学什么,计算机有哪些专业主要学什么
  10. 【机器学习】强化学习的概念及马尔科夫决策