对samba文件服务器的学习认识

samba是什么

早期的网络世界中,档案数据在不同的主机之间的传输主要是使用FTP这样的服务器软件来进行传送.但是使用FTP对数据进行传送有一个缺陷就是无法直接对服务器上的数据进行修改.只能先将服务器上的数据下载后,进行修改,然后再上传到服务器上才算是完成了服务器上的数据更改.
为了减少这样的做的麻烦,让档案直接在两部主机之间之间修改,我们有NFS和CIFS这样的文件系统可以选择.这样我们就实现了客户端直接进行服务器档案的存取,其中Unix Like的机器对应的是NFS服务器,Microsoft机器对应的是CIFS文件系统,其中CIFS最简单是的实现就是目前的网上芳邻.但是由于这两种方式只能在对应系统的计算机上实现档案数据的分享,所以进而有了可以在Windows和Unix Like这两个平台上相互分享数据的文件系统samba.它是通过封包侦测逆向工程发展的.

samba的常见应用

-利用软件直接编修www主机上的网页数据
-做成可以联机的文件服务器(如PDC)
-打印机服务器(不过需要查明printer是否支持,参照www.openprinting.org/printers)

samba使用的NetBIOS通讯协议

samba这个文件系统是架构在NetBIOS这个通讯协议上开发出来的.但是值得注意的是最早IBM发展NetBIOS的目的是让局域网络内少数计算机进行网络链接的一个协议,考虑的角度试试针对大型网络,所以NetBIOS是无法跨路由的.但是我们可以通过NetBIOS over TCP/IP的方式去跨路由的使用samba服务器所提供的内容.

samba使用的daemons

主机在NetBIOS中被定义为使用NetBIOS Name,每一部主机必须要有不同的NetBIOS Name,档案数据就是在不同的NetBIOS Name之间沟通.
1.取得对方主机的NetBIOS Name定位该主机所在
当我们想要登入某部Windows主机使用他所提供的档案数据时,必须加入该Windows主机的群组(Workgroup),并且我们的机器也必须设定一个主机名,但是这个主机名和Hostname是不同的,这个主机名是架构在NetBIOS协议上的,可以称之为NetBIOS Name(在一个群组之中,NetBIOS Name必须是独一无二的)

2.利用对方给予权限获取可用资源
在我们找到主机名后,是否能登入该对方主机或者是取用对方主机所提供的资源,还要看对方Windows主机是否给我们使用的权限.

samba具体是通过两支服务来控制这两个步骤(以后设定防火墙的时候可能会使用到这三个port):
-nmbd:这个daemon是用来管理工作组,NetBIOS name等等的解析,主要利用UDP协议开启port 137,138来负责名称解析的任务.
-smbd:这个daemon的主要功能是用来管理samba主机分享的目录,档案和打印机等等.主要利用可靠的TCP协议来传输数据,开放的端口为139及445(不一定存在).

联机模式介绍

我了解了两种最常见的局域网联机模式:peer/peer和domain model,这两种模式都是可以使用samba实现的.

peer/peer

假设在局域网里的所有PC都可以在自己的计算机上管理自己的账号和密码,同时每一部计算机也都具有独立执行各项软件的能力,只是藉由网络将各个PC链接起来的一个架构.每个计算机都可以同时为Client和Server.但是虽然每台机器都可以独立运作但是整个局域网里的成员进行数据分享时就会较为困难了.

domain model

将使用计算机资源所需的账号和密码,都放置在一个主控计算机上(PDC),任何人想要使用计算机时,都需要输入账号和密码,然后又PDC服务器辨识后,才会给予适当的权限.也就是说不同身份具有不同的计算机资源权限.

samba服务器的基础设定

samba所需软件及其软件结构

1.samba
2.samba - client
3.samba - common
相关配置文件:

  • /etc/samba/smb.conf:这是samba的主要配置文件.主要的设定项目是服务器的相关设定(global),以及分享目录的相关设定
  • /etc/samba/smb.conf:早期的NetBIOS Name需要额外设定,因此需要这个Imhost的NetBIOS Name对应的IP档.目前samba预设会使用hostname作为NetBIOS Name.
  • /etc/sysconfig/samba:启动smbd,nmbd时,你还要加入的相关服务参数
  • /etc/samba/smbusers:由于Windows和Linux在管理员和访客的账号名称不一致,可用它来设置两者之间的账号关系
  • /var/lib/samba/private/{passdb.tdb,secrets.tdb}:管理samba的用户账号/密码时,会用到的数据库档案.

常用脚本文件:

  • /usr/bin/smbstatus:服务器功能,可以列出目前samba的联机状况
  • /usr/bin/{smbpasswd,pdbedit}:服务器功能,在管理samba的用户账号密码时,建议使用新的pdbedit指令来管理用户数据.
  • /usr/bin/testparm:服务器功能,检查配置文件smb.conf的语法是否正确.
  • /sbin/mount.cifs:客户端功能,通过mount.cifs来将远程主机分享的档案和目录挂载到自己的Linux主机上.
  • /usr/bin/smbtree:客户端功能,使用smbclient来查看其他计算机所分享出来的目录和装置

smb.conf的常用设定项目

1.服务器整体设定方面:在smb.conf当中设定好工作组,NetBIOS主机名,密码的使用状态
2.规划准备分享的目录参数:在smb.conf内设定好预计要分享的目录或装置以及可供使用的账号数据
3.建立所需的文件系统
4.建立可用samba的账号
5.启动服务:启动samba的smbd,nmbd服务

smb.conf内的可用变量功能

  • %S:取代目前的设定项目值,所谓的项目设定值就是在分享里面的内容,%S的用意就是替换掉目前[ ]里面的内容
  • %m:代表Client端的NetBIOS主机名
  • %M:代表Client端的Internet主机名(hostname)
  • %L:代表samba主机的NetBIOS主机名
  • %H:代表用户的家目录
  • %U:代表目前登入的使用者的名称
  • %g:代表登入的使用者的组名
  • %h:代表目前这部samba主机的hostname
  • %I:代表Client的IP
  • %T:代表目前的日期和时间

不需要密码的分享(security = share,纯测试)

1.设定 smb.conf配置文件
2.用testparm查阅smb.conf的语法设定正确性
3.服务器端的服务启动与皋口观察
4.假设自我为客户端的检验

需账号密码才可登入的分享(security = user)

1.设定smb.conf配置文件与目录权限相关之设定
2.设定可使用samba的用户账号与密码
3.重新启动samba并进行自我测试

安全性

  • SELinux
    家目录无法mount,分享目录也需要做相应改变

  • 防火墙:利用iptables,hosts allow来管理
    建议使用hosts allow

samba 客户端软件功能

1.smbclient:查询网芳分享的资源,以及使用类似FTP的方式上传下载网芳
2.mount.cifs:直接挂载网芳成为网络驱动机
3.nmblookup:查询NetBIOS Name与IP及其他相关信息
4.smbtree:网络上的芳邻浏览器显示模式
5.smbstatus:观察samba的状态

服务器简单维护与管理

1.在设定samba的时候,如果是以单一主机的工作组(workgroup)的方式来进行smb.conf的设定时,无法成功的设定起来,务必查看登录档.

  • log file = /var/log/samba/log.%m

2.如果samba已经完成启动了,但是偏偏老是无法成功,又无法查出问题时,请先关闭samba一阵子,再重新启动

  • /etc/init.d/smb stop
    3.权限问题
    4.让使用者修改samba密码同时同步更新 /etc/shadow 密码
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容