Samba——跨平台网络文件共享系统

概述

Samba系统——百度百科
什么是samba
Samba——维基百科
是种用来让UNIX系列的作业系统与微软Windows作业系统的SMB/CIFS(Server Message Block/Common Internet File System)网路协定做连结的自由软体
samba是一个能让你的Unix计算机和其它MS Windows计算机相互共享资源的软件
此软体在Windows与UNIX系列操作系统之间搭起一座桥梁,让两者的资源可互通有无。
CIFS协议文档
通用网际文件系统(CIFS)是微软服务器消息块协议(SMB)的增强版本,是计算机用户在企业内部网和因特网上共享文件的标准方法。CIFS 通过定义一种与应用程序在本地磁盘和网络文件服务器上共享数据的方式相兼容的远程文件访问协议使之能够在因特网上进行协作。定义了客户端向服务器端的请求和服务器端得应答报文。CIFS数据包格式为标准头部+2个可变长区域。

再次的给他强调一次,在 Unix Like 上面可以分享档案资料的 file system 是 NFS,那么在 Windows 上面使用的『网上邻居』所使用的档案系统则称为 Common Internet File System, CIFS

发展

SAMBA详解

在早期的网络世界当中,档案数据在不同主机之间的传输大多是使用 FTP
送。不过使用 FTP 传输档案却有个小小的问题, 那就是您无法直接修改主机上面的档案数据!也就是说,您想要更改 Linux 主机上面的某个档案时,你必须要将该档案自服务器上下载下来后才能修改。 也因此该档案在服务器与客户端都会存在。这个时候,万一如果有一天修改了某个档案, 却忘记将数据上传回主机,那么等过了一阵子之后,呵呵,您如何知道那个档案才是最新的?
 让档案在两部主机之间直接修改
既然有这样的问题,那么好吧,我可不可以在客户端的机器上面直接取用 server 上面的档案, 如果可以在客户端直接进行 Server 端档案的存取,那么我在客户端就不需要存在该档案数据啰,也就是说, 我只要有Server 上面的档案资料存在就可以啦!有没有这样的档案系统啊 (File System)! 很高兴的是,前面我们已经提过的 Network File System, NFS 就是这样的档案系统之一啦!我只要在客户端将 Server 所提供分享的目录挂载进来, 那么在客户端的机器上面就可以直接取用 Server 上的档案资料啰,而且, 该数据就像是我客户端上面的 partition 一般,真是好用! 而除了可以让 Unix Like 的机器互相分享档案的 NFS 服务器之外,在微软 (Microsoft) 操作系统上面也有类似的档案系统,那就是 Common Internet File System, CIFS 这个咚咚啦!CIFS 最简单的想法就是目前常见的『网上邻居』 咯! Windows 系统的计算机可以透过桌面上『网上邻居』来分享别人所提供的档案数据哩!真是方便。 不过,NFS 仅能让 Unix 机器沟通, CIFS 只能让 Windows 机器沟通。伤脑筋,那么有没有让 Windows 与 Unix-Like 这两个不同的平台相互分享档案数据的档案系统呢?
 利用封包侦测逆向工程发展的 SMB Server
在 1991 年一个名叫 Andrew Tridgwell 的大学生就有这样的困扰,他手上有三部机器,分别是跑 DOS 的个人计算机、DEC公司的 Digital Unix 系统以及 Sun 的 Unix 系统。在当时, DEC 公司有发展出一套称为 PATHWORKS 的软件,这套软件可以用来分享 DEC 的 Unix 与个人计算机的 DOS 这两个操作系统的档案数据,可惜让 Tridgwell 觉得较困扰的是,Sun 的 Unix 无法藉由这个软件来达到数据分享的目的。 这个时候 Tridgwell 就想说:『咦!既然这两部系统可以相互沟通,没道理 Sun 就必需这么苦命吧?可不
可以将这两部系统的运作原理找出来,然后让 Sun 这部机器也能够分享档案数据呢?』, 为了解决这样的问题,他老兄就自行写了个 program 去侦测当 DOS 与 DEC 的 Unix 系统在进行数据分享传送时所使用到的
通讯协议信息,然后将这些重要的信息撷取下来, 并且基于上述所找到的通讯协议而开发出Server Message Block (SMB) 这个档案系统,而就是这套 SMB 软件就能够让 Unix 与 DOS 互相的分享数据啰!
 取名 SAMBA 的主因
既然写成了软件,想一想,总是需要注册一下商标吧!因此 Tridgwell 就去申请了 SMBServer (Server Message Block 的简写) 这个名字来作为他撰写的这个软件的商标,可惜的是,因为 SMB 是没有意义的文字,因此没有办法达成注册。既然如此的话,那么能不能在字典里面找到相关的字词可以作为商标来注册呢? 翻了老半天,呵呵!这个 SAMBA 刚好含有 SMB , 又是热情有劲的拉丁舞蹈的名称,不然就用这个名字来作为商标好了! 这成为我们今天所使用的 SAMBA 的名称由来啦!

SMB发展史

在安装Samba系统之前,很有必要了解一下Samba是如何工作的。Samba之所以能够工作,是因为它模仿的是Windows内核的文件和打印共享协议,该协议称之为SMB 协议(Server Message Block )。SMB在Windows出现之前就已经存在了。该协议可以追溯到上个世纪的80年代,它是由英特尔、微软、IBM、施乐以及3com等公司联合提出的。虽然在过去的20年中,该协议得到了扩展,但是该协议的基本理论仍然是相同的。
**微软已经将SMB改名为公共因特网文件系统(CIFS,Common Internet File System )。这在一定程度上是由于它想与最初的基于NetBIOS的SMB保持一定的距离。**最初,NetBIOS是一个伟大的工具,但是渐渐地显示出该工具无法处理在内部网络中连接到计算机上的全部计算机的个数,或者在因特网上无法显示连接到当前计算机上的计算机的个数。
Samba也执行了SMB (或者叫做CIFS,如果你愿意的话)的一个版本,这个版本在很大程度上与大多数的Windows版本兼容。有时候,微软Samba系统会出现崩溃,例如在Windows 2000的补丁包中,当正常的认证方式被改变时,就会导致Samba系统的崩溃。唯一的能够让Samba重新工作的方法是通过注册表来将认证方式改回来。尽管存在这些细小的缺陷,虽然这些缺陷在大量集成之后总是会出现的,但是,无论是从Windows连接到Linux还是从Linux连接到Windows 机器,Samba系统对于实现文件和打印服务来说总是很稳定的。
提示: 本文将以Red Hat 9.0上的Samba系统作为讨论的基础。但是你不要因此而考虑太多。因为无论你运行的是哪个版本的Linux,Samba系统在实质上是相同的,但是,在具体的配置细节上可能会有所不同。

原理

SMB协议原理抓包分析
①⾸先客户端发送⼀个SMB negprot请求数据报,并列出它所⽀持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使⽤的协议版本。如果没有可使⽤的协议版本则返回0XFFFFH,结束通信。
②协议确定后,客户端进程向服务器发起⼀个⽤户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送⼀对⽤户名和密码或⼀个简单密码到服务器,然后服务器通过发送⼀个SesssetupX应答数据报来允许或拒绝本次连接。
③当客户端和服务器完成了磋商和认证之后,它会发送⼀个Tcon或TconX SMB数据报并列出它想访问⽹络资源的名称,之后服务器会发送⼀个TconX应答数据报以表⽰此次连接是否被接受或拒绝。
④连接到相应资源后,SMB客户端就能够通过open SMB打开⼀个⽂件,通过read SMB读取⽂件,通过write SMB写⼊⽂件,通过close SMB关闭⽂件。

特点

SAMBA详解——鸟哥
1.利用软件直接编修 WWW 主机上面的网页数据
相信很多人都是利用个人计算机将网页制作完毕之后,再以类似 FTP 之类的服务将网页上传到 WWW 主机的,但这样有个困扰,那就是同时在客户端与 WWW 主机上头都有一份网页数据,常常会忘记哪一份是最新的, 最麻烦的是,有时候下载下来的档案已经经过好多修改了,却在下次的 FTP 作业,不小心又下载一次旧数据,结果将已经修改过的数据覆盖过去~天吶!又要重写一遍…真是讨厌! 如果你有安装 SAMBA 服务器的设定的话,那么透过『网芳』的功能,直接联机远程服务器所提供的目录, 如此一来你可以直接在你的个人计算机上面修改主机的档案数据,只有一份正确的数据而已喔! 这就有点像是『在线编修』呢,一修改完成,在 Internet 上面可以立刻检验,方便的很吶!
2.做成可直接联机的档案服务器
在鸟哥实验室中,由于计算机数量不多,研究生常常会使用到不同的计算机 (因为大家都得抢没有人用的计算机啊!) ,此外,也常常有研究生拿自己的 NoteBook 来工作,因此,有些团队的数据就分散在各个计算机当中,使用上相当的不方便。 这个时候,鸟哥就使用 SAMBA 将硬盘空间分享出来,由于使用者要登入 SAMBA 这个服务器主机时需要输入使用者数据 (账号与密码),而不同的登入者会取得不一样的目录资源,所以可以避免自己的数据在公用计算机上面被窥视, 此外,在不同的公用计算机上面都可以登入 SAMBA 主机,数据的使用上面真是相当的棒啊!
3.打印机服务器
SAMBA 除了分享档案系统外,也可以分享打印机喔,鸟哥的研究室好几部计算机就是直接以 Linux 分享的打印机来印制报告的。您会说『啊 Windows 也可以办的到啊!没有什么了不起的!』是啊。 但是因为 Linux 作为服务器主机时,鸟哥认为 Linux 毕竟还是比较稳定一点,可以 24 小时且全年无休的努力工作吶。此外,因为目前透过『网上邻居』来攻击局域网络的 Windows 操作系统的计算机病毒实在是太多了,防不胜防, Linux 对于这样的攻击并没有很大的影响 (因为常见的攻击手法均针对 Windows 而来~),所以也比较安全一些说~
SAMBA 的应用挺广泛的,尤其对于局域网络内的计算机来说,更是一项不可多得的好用的服务器, 虽然或许你会说,SAMBA 的功能不过是模仿 Windows 的网芳以及 AD 相关的软件, 那我直接使用 Windows 不就 OK 了?可惜的是, Windows XP 对于网芳的联机限制依版本而有所不同, 以企业常见的专业版 (Professional) 来说,他仅能提供最多同时十个联机到网芳的联机能力,这…不太够用吧! 所以啰,SAMBA 稳定、可靠又没有限制联机数
Samba服务简介与常用配置项
Linux系统下samba的作用,Samba介绍及功能: | Linux系统运维联盟
特点:可以实现跨平台文件传输,并支持在线修改
作用:

  1. 提供windows风格的文件和打印机共享,分享档案与打印机服务;
  2. 可以进行 Windows 网络上的主机名解析 (NetBIOS name),在windows网络中解析NetBios的名字
  3. 提供SMB客户端,linux用户可以利用smbclient利用类似于ftp的形式访问windows资源.,可以提供用户登入 SAMBA 主机时的身份认证
  4. 提供命令工具,利用该工具可以有限制地支持windows的某些管理功能.

应用

[samba] 启动SMB服务里出来一个NMB服务是什么?
Samba分为SMB和NMB两部分

SMB协议
SMB(Server Message Block,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。

NMB是SMB守护进程之一,于NetBIOS有关

NetBIOS Message Block (NMB )
可以通过主机名代替IP地址来访问局域网里的主机。

smb是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问
nmb是解析用的,就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来

前者为了共享,后者为了主机名与IP的映射
samba (软件)——百度百科
①使用 RPM来安装
使用 RPM 来安装真是一点都不难。不过,要注意安装的套件名称,因为不同的distribution 对于 RPM 档案的命名都不太一样!举例, Red Hat 9 对于SAMBA 这个服务器总共需要至少三个套件,分别是:
samba:这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文件档 ( document )、以及其它与 SAMBA 相关的logrotate 设定文件及开机预设选项档案等;
samba-common:这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的测试程序 ( testparm )等等;
samba-client:这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等。

不过,在 Mandrake 9.1 当中,则将 samba 这个套件又分为 samba-server与 samba-doc 两个套件,所以在 MDK 9.1 则有四个套件需要安装:samba-server, samba-doc, samba-common, samba-client 。

前置

端口

SMB可以以不同方式运行在会话层或者更低的网络层之上:

直接运行在 TCP 上 port 445;
通过使用 NetBIOS API, 它可以运行在几种不同的 transports:
基于 UDP ports 137, 138 & TCP ports 137, 139 (NetBIOS over TCP/IP);
基于一些传统协议,例如 NBF (incorrectly referred to as NetBEUI[原创研究?]).
SMB的 “进程间通信” (IPC) 系统提供 命名管道s 机制,它使得程序员可以方便的实现继承认证(客户端第一次连接SMB服务获取认证信息后)。

一些服务的操作基于命名管道机制, 例如那些 Microsoft 内部实现的基于SMB的 DCE/RPC, 被称为基于SMB的 MSRPC, 同时允许 MSRPC 客户端程序 处理认证过程(借助SMB服务提供的认证服务实现), 但是只在MSRPC客户端程序上下文中有效。

SMB 签名: Windows NT 4.0 Service Pack 3 及后续版本提供了基于数字签名的SMB连接机制。常用的官方术语叫做“SMB 签名”。其他被同时被使用的官方术语有

Server Message Block version 2 (SMB2) 旨在通过将SMB signals合并为一个数据包来减轻这个性能限制

SMB 支持 机会锁 — 一种特殊的锁机制 — 来提升性能。

SMB 服务是 Microsoft’s Distributed File System 实现的基础.

实训目的

1、掌握LINUX与Windows的资源共享和互访方法
2、掌握SAMBA服务器的安装和配置方法
3、掌握使用SAMBA共享用户认证和文件系统
4、掌握UNICODE字符集和域名映射的方法
5、掌握满足CIFS协议的UNIX共享的方法

项目设计

某公司有system、develop、product和test等4个小组,个人办公机操作系统为Windows,少数开发人员采用Linux操作系统,服务器操作系统为centos 7,需要设计一套建立再cenots 7之上的安全文件共享方案。每个用户都有自己的网络磁盘,develop组和test组有共用的网络硬盘,所有用户(包括匿名用户)有一个只读共享资料库;所有用户(包括匿名用户)要有一个存放临时文件的文件夹

要求如下:
1、system组具有管理所有SAMBA空间的权限
2、各部门的私有空间:各小组拥有自己的空间,除了小组成员及system组有权限以外,其他用户不可访问(包括列表、读和写)
3、对于资料库Library,所有用户(包括匿名用户)都可读不可写
4、develop组与test组的共享空间,该两组之外的用户不能访问
5、公共空间temp:让所有用户可以读取、写入、删除

一、Samba服务权限配置

1、在服务器端安装Samba服务(基于文件权限,非Samba权限)

[root@centos-a1 ~]# yum install samba-* -y
[root@centos-a1 ~]# rpm -qc samba
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
[root@centos-a1 ~]# rpm -qc samba-common
/etc/logrotate.d/samba
/etc/samba/lmhosts
/etc/samba/smb.conf
/etc/sysconfig/samb

Linux文件共享之samba
/etc/openldap/schema/samba.schema samba的openldap认证配置文件
/etc/pam.d/samba samba的pam认证文件
/etc/logrotate.d/samba 日志轮滚策略文件
/etc/samba/lmhosts 本地主机配置文件
/etc/samba/smb.conf samba的主配置文件,用于实现samba的环境设置和自定义共享目录
/etc/sysconfig/samba samba的系统配置文件
LinuxSamba服务主配文件smb.conf中文详解

[root@centos-a1 ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.[global]      workgroup = SAMBAsecurity = userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw[homes]comment = Home Directoriesvalid users = %S, %D%w%Sbrowseable = Noread only = Noinherit acls = Yes[printers]comment = All Printerspath = /var/tmpprintable = Yescreate mask = 0600browseable = No[print$]comment = Printer Driverspath = /var/lib/samba/driverswrite list = @printadmin rootforce group = @printadmincreate mask = 0664directory mask = 0775
[root@centos-a1 ~]#

[global]
samba服务器的全局设置,对整个服务器有效。
workgroup
语法:workgtoup = <⼯作组群>;
预设:workgroup = MYGROUP
说明:设定 Samba Server 的⼯作组
例:workgroup = workgroup 和WIN2000S设为⼀个组,可在⽹上邻居可中看到共享。
server string
语法:server string = <说明>;
预设:sarver string = Samba Server
说明:设定 Samba Server 的注释
其他:⽀持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端⽤户名
例:server string = this is a Samba Server 设定出现在Windows⽹上邻居的 Samba Server 注释为 this is a Samba Server
hosts allow
语法:hosts aoolw = <IP地址>; …
预设:; host allow = 192.168.1. 192.168.2. 127.
说明:限制允许连接到 Samba Server 的机器,多个参数以空格隔开。表⽰⽅法可以为完整的IP地址,如 192.168.0.1 ⽹段,如 192.168.0.
例:hosts allow = 192.168.1. 192.168.0.1 表⽰允许 192.168.1 ⽹段的机器⽹址为 192.168.0.1 的机器连接到⾃⼰的 samba server
printcap name
语法:printcap name = <打印机配置⽂件>;
预设:printcap name = /etc/printcap
说明:设定 samba srever 打印机的配置⽂件
例:printcap name = /etc/printcap 设定 samba srever 参考 /etc/printcap 档的打印机设定。
load printers
语法:load printers = <yes/no>;
预设:load printers = yes
说明:是否在开启 samba server 时即共享打印机。
printing
语法:printing = <打印机类型>;
预设:printing = lprng
说明:设定 samba server 打印机所使⽤的类型,为⽬前所⽀持的类型。
guest account
语法:guert account = <帐户名称>;
预设:guert account = pcguest
说明:设定访问 samba server 的来宾帐户(即访问时不⽤输⼊⽤户名和密码的帐户),若设为pcguest的话则为默认为"nobody"⽤户。
例:guert account = andy 设定设定访问 samba server 的来宾帐户以andy⽤户登陆,则此登陆帐户享有andy⽤户的所有权限。
log file
语法:log file = <⽇志⽂件>;
预设:log file = /var/log/samba/%m.log
说明:设定 samba server ⽇志⽂件的储存位置和⽂件名(%m代表客户端主机名)
max log size
语法:max log size = <??KB>;
预设:max log size = 0
说明:设定⽇⼦⽂件的最⼤容量,单位KB 这⾥的预设值0代表不做限制。
security
语法:security = <等级>;
预设:security = user
说明:设定访问 samba server 的安全级别共有四种:
share—不需要提供⽤户名和密码。
user----需要提供⽤户名和密码,⽽且⾝份验证由 samba server 负责。
server–需要提供⽤户名和密码,可指定其他机器(winNT/2000/XP)或另⼀台 samba server作⾝份验证。
domain–需要提供⽤户名和密码,指定winNT/2000/XP域服务器作⾝份验证。
password server
语法:password server = <IP地址/主机名>;
预设:password server = ;
说明:指定某台服务器(包括windows 和 linux)的密码,作为⽤户登⼊时验证的密码。
其他:此项需配合 security = server时,才可设定本参数。
password level
语法:password level = <位数>;
username level = <位数>;
预设:password level = 8
username level
username level = 8
说明:设定⽤户名和密码的位数,预设为8位字符。
encrypt passwords
语法:encrypt passwords = <yes/no>;
预设:encrypt passwords = yse
说明:设定是否对samba的密码加密。
smb passwd file
语法:smb passwd file = <密码⽂件>;
预设:smb passwd file = /etc/samba/smbpasswd
说明:设定samba的密码⽂件。
local master
语法:local master = <yes/no>;
预设:local master = no
说明:设定 samba server 是否要担当LMB⾓⾊(LMB负责收集本地⽹络的Browse List资源),通常⽆特殊原因设为no
os level
语法:os level = <数字>;
预设:os level = 33
说明:设定 samba server的os level. os level从 0 到 255 . winNT的os level为33, win95/98的os level 是 1 .若要拿samba server 当LMB或DMB则它的os level⾄少要⼤于NT的33以上。
domain master
语法:domain master = <yes/no>;
预设:domain master = yes
说明:设定 samba server 是否要担当DMB⾓⾊(DMB会负责收集其他⼦⽹的Browse List资源),通常⽆特殊原因设为no
preferred master
语法:preferred master = <yes/no>;
预设:preferred master = yes
说明:设定 samba server 是否要担当PDC⾓⾊(PDC会负责追踪⽹络帐户进⾏的⼀切变更),通常⽆特殊原因设为no,(同⼀⽹段内不可有两个PDC,他们会每5分钟抢主控权⼀次)
wins support
语法:wins support = <yes/no>;
预设:wins support = yes
说明:设定samba server 是否想⽹络提供WINS服务,通常⽆特殊原因设为no。除⾮所处⽹络上没有主机提供WINS服务且需要此台samba server提供WINS服务是才设yes,其他 wins support 和 wins server 只能选择⼀个
wins server
语法:wins server = <IP地址>;
预设:wins server = w.x.y.z
说明:设定samba server 是否要使⽤别台主机提供的WINS服务,通常⽆特殊原因设为no。除⾮所处⽹络上有⼀台主机提供WINS服务才要设yes,其他 wins support 和 wins server
例:wins server = 192.168.0.1 表⽰samba server要使⽤192.168.0.1提供的WINS服务
#============================== Share Definitions =============================
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
使⽤者本⾝的"家"⽬录,当使⽤者以samba使⽤者⾝份登⼊samba server 后,samba server 底下会看到⾃⼰的家⽬录,⽬录名称是使⽤者⾃⼰的帐号。
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
设置了samba服务器中打印共享资源的属性,samba服务器除了可以提供⽂件共享,还可以提供打印共享。
[分享的资源名称]
<指令1>; = (参数)
<指令2>; = (参数)
要提供分享资源时,须先把欲分享的资源以 [ ] 符号括住,底下通常会带指令和参数来表⽰此资源的设定和存取权限等,详情如下:
comment---------注释说明
path------------分享资源的完整路径名称,除了路径要正确外,⽬录的权限也要设对
browseable------是yes/否no在浏览资源中显⽰共享⽬录,若为否则必须指定共享路径才能存取
printable-------是yes/否no允许打印
hide dot ftles–是yes/否no隐藏隐藏⽂件
public----------是yes/否no公开共享,若为否则进⾏⾝份验证(只有当security = share 时此项才起作⽤)
guest ok--------是yes/否no公开共享,若为否则进⾏⾝份验证(只有当security = share 时此项才起作⽤)
read only-------是yes/否no以只读⽅式共享当与writable发⽣冲突时也writable为准
writable--------是yes/否no不以只读⽅式共享当与read only发⽣冲突时,⽆视read only
vaild users-----设定只有此名单内的⽤户才能访问共享资源(拒绝优先)(⽤户名/@组名)
invalid users—设定只有此名单内的⽤户不能访问共享资源(拒绝优先)(⽤户名/@组名)
read list-------设定此名单内的成员为只读(⽤户名/@组名)
write list------若设定为只读时,则只有此设定的名单内的成员才可作写⼊动作(⽤户名/@组名)
create mask-----建⽴⽂件时所给的权限
directory mask–建⽴⽬录时所给的权限
force group-----指定存取资源时须以此设定的群组使⽤者进⼊才能存取(⽤户名/@组名)
force user------指定存取资源时须以此设定的使⽤者进⼊才能存取(⽤户名/@组名)
allow hosts-----设定只有此⽹段/IP的⽤户才能访问共享资源
allwo hosts = ⽹段 except IP
deny hosts------设定只有此⽹段/IP的⽤户不能访问共享资源
allow hosts=本⽹段指定IP指定IP
deny hosts=指定IP本⽹段指定

2、创建system,develop,product,test组,为每组新增用户

[root@centos-a1 ~]# groupadd system
[root@centos-a1 ~]# groupadd develop
[root@centos-a1 ~]# groupadd product
[root@centos-a1 ~]# groupadd test
[root@centos-a1 ~]# useradd system1 -g system
[root@centos-a1 ~]# useradd develop1 -g develop
[root@centos-a1 ~]# useradd product1 -g product
[root@centos-a1 ~]# useradd test1 -g test

3、创建/share目录,并为该目录及子目录设置system的ACL权限

[root@centos-a1 /]# setfacl -m g:system:rwx /share/
[root@centos-a1 /]# setfacl -m d:g:system:rwx /share/

setfacl命令的基本用法

4、在/share目录下,创建system,develop,product,test,develop_test,library,temp目录,检查子目录的ACL权限继承

[root@centos-a1 share]# mkdir system
[root@centos-a1 share]# mkdir develop
[root@centos-a1 share]# mkdir prodcut
[root@centos-a1 share]# mkdir test develop_test library temp
[root@centos-a1 share]# ll
total 0
drwxrwxr-x+ 2 root root 6 Jun 26 19:25 develop
drwxrwxr-x+ 2 root root 6 Jun 26 19:26 develop_test
drwxrwxr-x+ 2 root root 6 Jun 26 19:26 library
drwxrwxr-x+ 2 root root 6 Jun 26 19:25 prodcut
drwxrwxr-x+ 2 root root 6 Jun 26 19:25 system
drwxrwxr-x+ 2 root root 6 Jun 26 19:26 temp
drwxrwxr-x+ 2 root root 6 Jun 26 19:26 test
[root@centos-a1 share]# getfacl system
# file: system
# owner: root
# group: root
user::rwx
group::r-x
group:system:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:system:rwx
default:mask::rwx
default:other::r-x

5、设置4个组别对应目录的所有者为组内成员,所属组为该组自己

[root@centos-a1 share]# chown develop1:develop develop
[root@centos-a1 share]# chown product1:product prodcut
[root@centos-a1 share]# chown system1:system system
[root@centos-a1 share]# chown test1:test test
[root@centos-a1 share]# ll
total 0
drwxrwxr-x+ 2 develop1 develop 6 Jun 26 19:25 develop
drwxrwxr-x+ 2 root     root    6 Jun 26 19:26 develop_test
drwxrwxr-x+ 2 root     root    6 Jun 26 19:26 library
drwxrwxr-x+ 2 product1 product 6 Jun 26 19:25 prodcut
drwxrwxr-x+ 2 system1  system  6 Jun 26 19:25 system
drwxrwxr-x+ 2 root     root    6 Jun 26 19:26 temp
drwxrwxr-x+ 2 test1    test    6 Jun 26 19:26 test

6、设置/share目录下所有目录权限为其他用户不可读写(770)

[root@centos-a1 /]# chmod 770 share/*
[root@centos-a1 /]# cd share/
[root@centos-a1 share]# ll
total 0
drwxrwx---+ 2 develop1 develop 6 Jun 26 19:25 develop
drwxrwx---+ 2 root     root    6 Jun 26 19:26 develop_test
drwxrwx---+ 2 root     root    6 Jun 26 19:26 library
drwxrwx---+ 2 product1 product 6 Jun 26 19:25 prodcut
drwxrwx---+ 2 system1  system  6 Jun 26 19:25 system
drwxrwx---+ 2 root     root    6 Jun 26 19:26 temp
drwxrwx---+ 2 test1    test    6 Jun 26 19:26 test

7、设置/temp目录权限为所有人均可读写(777)

[root@centos-a1 share]# chmod 777 temp
[root@centos-a1 share]# ll
total 0
drwxrwx---+ 2 develop1 develop 6 Jun 26 19:25 develop
drwxrwx---+ 2 root     root    6 Jun 26 19:26 develop_test
drwxrwx---+ 2 root     root    6 Jun 26 19:26 library
drwxrwx---+ 2 product1 product 6 Jun 26 19:25 prodcut
drwxrwx---+ 2 system1  system  6 Jun 26 19:25 system
drwxrwxrwx+ 2 root     root    6 Jun 26 19:26 temp
drwxrwx---+ 2 test1    test    6 Jun 26 19:26 test

8、设置/library目录权限为其他用户可读不可写(775)

[root@centos-a1 share]# chmod 775 library/
[root@centos-a1 share]# ll
total 0
drwxrwx---+ 2 develop1 develop 6 Jun 26 19:25 develop
drwxrwx---+ 2 root     root    6 Jun 26 19:26 develop_test
drwxrwxr-x+ 2 root     root    6 Jun 26 19:26 library
drwxrwx---+ 2 product1 product 6 Jun 26 19:25 prodcut
drwxrwx---+ 2 system1  system  6 Jun 26 19:25 system
drwxrwxrwx+ 2 root     root    6 Jun 26 19:26 temp
drwxrwx---+ 2 test1    test    6 Jun 26 19:26 test

9、设置追加develop组及test组对共有目录的可读写的ACL权限

[root@centos-a1 share]# setfacl -m g:develop:rwx develop_test/
[root@centos-a1 share]# setfacl -m g:test:rwx develop_test/
[root@centos-a1 share]# getfacl develop_test/
# file: develop_test/
# owner: root
# group: root
user::rwx
group::r-x
group:system:rwx
group:develop:rwx
group:test:rwx
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:system:rwx
default:mask::rwx
default:other::r-x

10、配置Samba服务器smb.conf文件,屏蔽个人目录环境内容,增设共享目录环境内容

Linux Samba服务主配文件smb.conf中文详解【转】
SAMBA配置文件常用参数详解


11、添加Samba用户(各组用户),并设置该用户的Samba密码

Linux常用命令—smbpasswd命令
语法
smbpasswd(选项)(参数)
选项
-a:向smbpasswd文件中添加用户;
-c:指定samba的配置文件;
-x:从smbpasswd文件中删除用户;
-d:在smbpasswd文件中禁用指定的用户;
-e:在smbpasswd文件中激活指定的用户;
-n:将指定的用户的密码置空。
参数
用户名:指定要修改SMB密码的用户。

[root@centos-a1 share]# smbpasswd -a develop1
New SMB password:
Retype new SMB password:
Added user develop1.
[root@centos-a1 share]# smbpasswd -a system1
New SMB password:
Retype new SMB password:
Added user system1.
[root@centos-a1 share]# smbpasswd -a test1
New SMB password:
Retype new SMB password:
Added user test1.
[root@centos-a1 share]# smbpasswd -a prodcut1
New SMB password:
Retype new SMB password:
Failed to add entry for user prodcut1.

二、Samba服务应用配置

1、启动smb及nmb服务,并设置这两个服务每次开机自动启动

[root@centos-a1 share]# rpm -ql samba | grep service
/usr/lib/systemd/system/nmb.service
/usr/lib/systemd/system/smb.service
[root@centos-a1 share]# systemctl start nmb
[root@centos-a1 share]# systemctl start smb
[root@centos-a1 share]# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@centos-a1 share]# systemctl enable nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[root@centos-a1 share]# netstat -lnp | grep smb
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      60727/smbd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      60727/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      60727/smbd
tcp6       0      0 :::445                  :::*                    LISTEN      60727/smbd
[root@centos-a1 share]# netstat -lnp | grep nmb
udp        0      0 192.168.111.255:137     0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.111.21:137      0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.122.255:137     0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.122.1:137       0.0.0.0:*                           60711/nmbd
udp        0      0 0.0.0.0:137             0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.111.255:138     0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.111.21:138      0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.122.255:138     0.0.0.0:*                           60711/nmbd
udp        0      0 192.168.122.1:138       0.0.0.0:*                           60711/nmbd
udp        0      0 0.0.0.0:138             0.0.0.0:*                           60711/nmbd
unix  2      [ ACC ]     STREAM     LISTENING     143931   60711/nmbd           /run/samba/nmbd/unexpected
[root@centos-a1 share]# netstat -lnp | grep samba
unix  2      [ ACC ]     STREAM     LISTENING     143931   60711/nmbd           /run/samba/nmbd/unexpected

2、在Windows下访问服务器的共享资源,以system1登陆测试

不注释掉[home]选项,则登入会出现用户名目录

3、以develop1登陆,测试用户使用权限(切换账号要清空缓存)

C:\Users\lenovo>net use
会记录新的网络连接。状态       本地        远程                      网络-------------------------------------------------------------------------------
OK                     \\192.168.111.21\IPC$     Microsoft Windows Network
命令成功完成。C:\Users\lenovo>net use \\192.168.111.21\IPC$ /delete
\\192.168.111.21\IPC$ 已经删除。C:\Users\lenovo>net use
会记录新的网络连接。列表是空的。

cmdnet命令详解
Net Use
  作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
  命令格式:Net use [devicename | ] [\computername\sharename[\volume]] [password|]][/user:[domainname]username][[/delete]| [/persistent:{yes | no}]]
  有关参数说明:
  ·键入不带参数的Net use列出网络连接
  ·devicename指定要连接到的资源名称或要断开的设备名称
  ·\computername\sharename服务器及共享资源的名称
  ·password访问共享资源的密码
  ·*提示键入密码
  ·/user指定进行连接的另外一个用户
  ·domainname指定另一个域
  ·username指定登录的用户名
  ·/home将用户连接到其宿主目录
  ·/delete取消指定网络连接
  ·/persistent控制永久网络连接的使用。
  例如:Net use f: \GHQ\TEMP 将\GHQ\TEMP目录建立为F盘
     Net use f: \GHQ\TEMP /delete 断开连接。

4、在Linux下访问服务器的共享资源,安装Samba客户端

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

Linux shell smbclient 命令可存取 SMB/CIFS 服务器的用户端程序。
SMB 与 CIFS 为服务器通信协议,常用于Windows95/98/NT等系统。
smbclient(samba client)可让 Linux 系统存取 Windows 系统所分享的资源。

smbclient 命令语法格式如下
smbclient [网络资源][密码][-EhLN][-B<IP地址>][-d<排错层级>][-i<范围>][-I<IP地址>][-l<记录文件>][-M<NetBIOS名称>][-n<NetBIOS名称>][-O<连接槽选项>][-p<TCP连接端口>][-R<名称解析顺序>][-s<目录>][-t<服务器字码>][-T<tar选项>][-U<用户名称>][-W<工作群组>]
-L
显示服务器端所分享出来的所有资源。

[root@centos7-a3 ~]# smbclient -L \\192.168.111.21
Enter SAMBA\root's password:
Anonymous login successfulSharename       Type      Comment---------       ----      -------share           Disk      shareprint$          Disk      Printer DriversIPC$            IPC       IPC Service (Samba 4.10.16)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successfulServer               Comment---------            -------Workgroup            Master---------            -------SAMBA                CENTOS-A1WORKGROUP            LAPTOP-3LBTDA4I

5、查看product1在服务器上的共享资源抛出,并利用该用户账号登陆服务器,查看共享资源

-U<用户名称>

[root@centos7-a3 ~]# smbclient -L \\192.168.111.21 -U product1
Enter SAMBA\product1's password: Sharename       Type      Comment---------       ----      -------share           Disk      shareprint$          Disk      Printer DriversIPC$            IPC       IPC Service (Samba 4.10.16)product1        Disk      Home Directories
Reconnecting with SMB1 for workgroup listing.Server               Comment---------            -------Workgroup            Master---------            -------SAMBA                CENTOS-A1WORKGROUP            LAPTOP-3LBTDA4I

[网络资源]
[网络资源]的格式为//服务器名称/资源分享名称。

[root@centos7-a3 ~]# smbclient //192.168.111.21/share -U product1
Enter SAMBA\product1's password:
Try "help" to get a list of possible commands.
smb: \>

6、在Samba模式下测试使用ls,cd,mkdir,rmdir,more,get,put等命令,与shell命令进行区别对比

【转】Samba配置文件详解
smb:>
用户在该提示符下输入各种命令。其命令和 ftp 相似,如 cd、lcd、get、mget、put、mput 等,其他比较常用的命令如下所示:

  1. ?[comand]
    显示有关command的帮助信息,若无command参数,则列出所有可能的命令。
  2. ![shell command]
    在本地执行shell命令,如果没有给出shell command,则在本地运行一个shell。用户可以在该shell中执行各种命令,用exit回到smbclient。
  3. lowercase
    关闭或者打开文件名小写转换。如果打开,smbclient 会自动将 get 和 mget 命令取回的文件以相应的小写文件名命名。
  4. print
    在远程服务器上打印文件 filename。
  5. queue
    显示打印队列。
  6. quit 或者 exit
    退出 smbclient。
    smbclient 的 mget 和 mput 命令可以使用通配符“*”和“?”,它们还可以工作在递归模式下。当工作在递归模式时,它们将处理当前目录以及所有由 mask 命令指定的子目录。
    用 recurse 命令打开或关闭递归模式。
    mask 命令指定一个含通配符的模式,当 mget 和 mput 工作在递归模式时,它们将只处理能匹配该模式的目录;如果不工作在递归模式,则忽略该模式。
    mask 命令的使用方法是:
    mask
    expr 是含通配符的模式。smbclient 还可以发送 WinPopup 消息,方法是:
    smbclient -M NetBIOS_name
    NetBIOS_name 是目标计算机的 NetBIOS 名。连接建立后,键入要发送的消息,按Ctrl-d 组合键结束。
    Smbclient 的工作模式和 ftp 还有一点相像的地方:当我们要处理绝大多数的文件(如执行一个在远端的文件)时必须先下载到本地系统上,然后才能执行相应的操作。
    这种操作方法自有它的好处,如比较节省网络资源,但也会造成文件的重复存取。
    smbclient 命令则可以直接利用远端的文件资源而不用先下载。

7、确认product1在共享资源上的权限,查看是否符合项目规划

[root@centos7-a3 ~]# smbclient //192.168.111.21/share -U product1
Enter SAMBA\product1's password:
Try "help" to get a list of possible commands.
smb: \> ls.                                   D        0  Sun Jun 26 19:26:12 2022..                                  D        0  Sun Jun 26 18:43:49 2022system                              D        0  Sun Jun 26 21:18:28 2022develop                             D        0  Sun Jun 26 21:21:30 2022prodcut                             D        0  Sun Jun 26 21:18:44 2022test                                D        0  Sun Jun 26 21:18:52 2022develop_test                        D        0  Sun Jun 26 21:21:35 2022library                             D        0  Sun Jun 26 21:18:43 2022temp                                D        0  Sun Jun 26 21:18:50 202210475520 blocks of size 1024. 6901108 blocks available
smb: \> cd
Current directory is \
smb: \> cd develop
smb: \develop\> ls
NT_STATUS_ACCESS_DENIED listing \develop\*
smb: \develop\> cd ..
smb: \> ls.                                   D        0  Sun Jun 26 19:26:12 2022..                                  D        0  Sun Jun 26 18:43:49 2022system                              D        0  Sun Jun 26 21:18:28 2022develop                             D        0  Sun Jun 26 21:21:30 2022prodcut                             D        0  Sun Jun 26 21:18:44 2022test                                D        0  Sun Jun 26 21:18:52 2022develop_test                        D        0  Sun Jun 26 21:21:35 2022library                             D        0  Sun Jun 26 21:18:43 2022temp                                D        0  Sun Jun 26 21:18:50 202210475520 blocks of size 1024. 6901108 blocks available
smb: \> cd system
smb: \system\> ls
NT_STATUS_ACCESS_DENIED listing \system\*
smb: \system\> cd ..
smb: \> cd develop1
cd \develop1\: NT_STATUS_OBJECT_NAME_NOT_FOUND
smb: \> ls.                                   D        0  Sun Jun 26 21:36:41 2022..                                  D        0  Sun Jun 26 18:43:49 2022system                              D        0  Sun Jun 26 21:18:28 2022develop                             D        0  Sun Jun 26 21:21:30 2022test                                D        0  Sun Jun 26 21:18:52 2022develop_test                        D        0  Sun Jun 26 21:21:35 2022library                             D        0  Sun Jun 26 21:18:43 2022temp                                D        0  Sun Jun 26 21:18:50 2022product                             D        0  Sun Jun 26 21:36:25 202210475520 blocks of size 1024. 6901112 blocks available
smb: \> cd develop
smb: \develop\> ls
NT_STATUS_ACCESS_DENIED listing \develop\*
smb: \develop\> ls
NT_STATUS_ACCESS_DENIED listing \develop\*
smb: \develop\> cd product
cd \develop\product\: NT_STATUS_ACCESS_DENIED
smb: \develop\> cd ..
smb: \> cd product
smb: \product\> ls.                                   D        0  Sun Jun 26 21:36:25 2022..                                  D        0  Sun Jun 26 21:36:41 202210475520 blocks of size 1024. 6901112 blocks available
smb: \product\> mkdir test
smb: \product\> rmdir test1
NT_STATUS_OBJECT_NAME_NOT_FOUND removing remote directory file \product\test1
smb: \product\> ls.                                   D        0  Sun Jun 26 21:38:34 2022..                                  D        0  Sun Jun 26 21:36:41 2022test                                D        0  Sun Jun 26 21:38:12 20221.txt                               N        9  Sun Jun 26 21:38:34 202210475520 blocks of size 1024. 6901088 blocks available
smb: \product\> more 1.txt
getting file \product\1.txt of size 9 as /tmp/smbmore.a0nJku (4.4 KiloBytes/sec) (average 4.4 KiloBytes/sec)
product1
smb: \product\> get 1.txt
getting file \product\1.txt of size 9 as 1.txt (4.4 KiloBytes/sec) (average 4.4 KiloBytes/sec)
smb: \product\> put 1.txt
NT_STATUS_ACCESS_DENIED opening remote file \product\1.txt

8、创建/mnt/smb目录,对test1的共享资源进行临时挂载到本地目录,利用shell命令测试test1在共享资源上的权限

mount.cifs 中文手册
名称
mount.cifs - 挂载通用网际文件系统(Common Internet File System)
语法
mount.cifs {service} {mount-point} [-o options]
描述
这个工具是 samba(7) 软件包的一部分。

   mount.cifs 用于挂载 CIFS 文件系统。它通常由使用"-t cifs"选项的 mount(8) 命令间接调用。这个命令只能在支持 CIFS 文件系统的Linux内核上使用。CIFS 协议是 SMB 协议的替代版本,它被包括 Windows 在内的几乎所有操作系统所以及 NAS(Network Attached Storage)应用和Samba服务器所支持。mount.cifs 可以将 service 表示的 UNC 名称挂载到本地的 mount-point 挂载点上。service 使用 //server/share 语法,其中的"server"是主机名或者 IP 地址,而 "share" 是共享名。mount.cifs 的选项是用逗号分隔的 key=value 列表。除了下面列出的选项外,还可以使用其他选项,只要 cifs 文件系统内核模块(cifs.ko)支持即可。不能被 cifs 文件系统内核模块(cifs.ko)识别的选项将会被记录到内核日志中。mount.cifs 将会启动一个名为 cifsd 的进程,并保持运行直到该资源被卸载(通常是通过 umount 工具)。mount.cifs -V 会显示该程序的版本信息。modinfo cifs 会显示 cifs 模块的版本信息。

Linux挂载cifs共享存储
直接添加账号密码挂载(两种挂载载方式)
#mount -t cifs -o username=admin,password=“P@ssw0rd” //172.20.10.20/test /mnt/test

[root@centos7-a3 ~]# yum install cifs-* -y
[root@centos7-a3 ~]# mount -t cifs -o username=test1,password=123456 //192.168.111.21/share/ /mnt/smb
[root@centos7-a3 ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/sda2               xfs        10G  3.5G  6.6G  35% /
devtmpfs                devtmpfs  471M     0  471M   0% /dev
tmpfs                   tmpfs     487M     0  487M   0% /dev/shm
tmpfs                   tmpfs     487M   15M  472M   4% /run
tmpfs                   tmpfs     487M     0  487M   0% /sys/fs/cgroup
/dev/sda3               xfs        10G   37M   10G   1% /home
/dev/sda6               xfs        28G  299M   28G   2% /var
/dev/sda1               xfs       497M  167M  330M  34% /boot
tmpfs                   tmpfs      98M  4.0K   98M   1% /run/user/42
tmpfs                   tmpfs      98M   28K   98M   1% /run/user/1000
/dev/sr0                iso9660   4.3G  4.3G     0 100% /run/media/stu/CentOS 7 x86_64
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
//192.168.111.21/share/ cifs       10G  3.5G  6.6G  35% /mnt/smb
[root@centos7-a3 ~]# cd /mnt/smb
[root@centos7-a3 smb]# ll
total 0
drwxr-xr-x 2 root root 0 Jun 26 21:21 develop
drwxr-xr-x 2 root root 0 Jun 26 21:21 develop_test
drwxr-xr-x 2 root root 0 Jun 26 21:18 library
drwxr-xr-x 2 root root 0 Jun 26 21:38 product
drwxr-xr-x 2 root root 0 Jun 26 21:18 system
drwxr-xr-x 2 root root 0 Jun 26 21:18 temp
drwxr-xr-x 2 root root 0 Jun 26 21:18 test

9、配置系统配置文件fstab,实现对develop1的共享资源进行自动挂载到本地目录,并测试确认

[root@centos7-a3 smb]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Apr 14 00:48:41 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1980879b-a334-4be3-98da-e6ea4e8ab724 /                       xfs     defaults        0 0
UUID=e02868f1-1d6e-48f8-b429-d56fe953de46 /boot                   xfs     defaults        0 0
UUID=d6d90269-8b8d-41e1-9779-7919b256782e /home                   xfs     defaults        0 0
UUID=7816f04e-b4e2-4892-ab8a-7757bcab3e9d /var                    xfs     defaults        0 0
UUID=a8a5eda1-b477-4755-af3a-5e5a4c435c37 swap                    swap    defaults        0 0

/etc/fstab文件的详解
第一列 Device
磁盘设备文件或者该设备的Label或者UUID
第二列 Mount point
设备的挂载点,就是你要挂载到哪个目录下。
第三列 filesystem
磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列 parameters
文件系统的参数
Defaults 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
第五列:能否被dump备份命令作用
dump是一个用来作为备份的命令。通常这个参数的值为0或者1
0 代表不要做dump备份
第六列 是否检验扇区
开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验

//192.168.111.21/share                    /mnt/smb                cifs    defaults        0 0

意外

[root@centos7-a3 ~]# smbclient -L \\192.168.111.21 -U product1
Enter SAMBA\product1's password:
session setup failed: NT_STATUS_LOGON_FAILURE

samba错误:session setup failed: NT_STATUS_LOGON_FAILURE
在命令行输入命令:
~$ smbclient -L \127.0.0.1
按要求输入密码后,提示出错:
session setup failed: NT_STATUS_LOGON_FAILURE

这是因为执行smbclient命令的用户ID没有成为samba服务的用户,解决方法如下:
先将改用户ID加入到samba中
~$ smbpasswd -a 某用户ID
按要求设置密码

Linux实训项目——第九章:配置与管理Samba服务器相关推荐

  1. Linux实训项目二 用户和组的管理

    实训项目 用户和组的管理 一.实训目的 ● 熟悉Linux用户的访问权限. ● 掌握在Linux系统中增加.修改.删除用户或用户组的方法. ● 掌握用户账户管理及安全管理. 二.项目背景 某公司有60 ...

  2. 配置与管理Samba服务器

    配置与管理Samba服务器 项目导入    是谁最先搭起Windows和Linux沟通的桥梁,并且提供不同系统间的共享服务,还能舞有强大的打印服务功能?答案就是Samba.Samba的应用环境非常广泛 ...

  3. linux实训项目——飞鸽(一)

    目前完成UDP广播上线.用户间对话功能. 目录 目录 前言 一.基础知识 二."飞鸽"运行流程 1.用户运行程序后先设置用户名,即上线后别人看到的名字. 2.上线后进行UDP广播, ...

  4. Linux实训项目——第十一章:基础DNS服务器与主从同步

    域名系统(DNS)的起源与发展.原理及解析流程 BIND是什么 WHO WHEN WHAT WHY WHERE HOW BUT 实训目的 1.掌握LINUX系统下主DNS服务器的配置 2.掌握LINU ...

  5. Linux实训项目——第十章(下):配置DHCP中继服务

    实训目的 6.掌握LINUX下DHCP中继代理的配置方法 项目设计 一.配置DHCP中继代理 DHCP中继代理 DHCPRelay(DHCPR)DHCP中继 也叫做DHCP中继代理.DHCP中继代理, ...

  6. WindowsServer实训项目——第二章:安装和配置WindowsServer

    一.实训目的 1.熟练使用VMware 2.掌握VMware的详细配置与管理 3.掌握使用VMware进行Windows Server网络操作系统的安装 二.项目背景 公司新购进一台服务器,硬盘空间为 ...

  7. 【Linux学习笔记】Linux服务器:配置与管理samba服务器

    Linux系列文章目录 一.[linux学习笔记]红帽Linux 7.8系统在虚拟机上的安装 二.[Linux学习笔记]Linux系统的基本操作 三.[Linux学习笔记]管理Linux操作系统:用户 ...

  8. samba服务器的安全协议,配置与管理samba服务器

    samba简介 samba服务器可以使用户在不同的操作系统之间进行文件共享.samba服务器提供了在windows环境下共享linux中用户目录的一个工具.在linux中安装samba后,window ...

  9. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理

    实训项目2 Linux文件系统管理 发布时间:2011-06-24 15:51:10来源:红联作者:397778823 一. 实训目的: 1. 掌握磁盘分区的方法: 2. 掌握文件系统的建立.挂装.解 ...

最新文章

  1. Linux流量监控工具 - iftop用法
  2. Borland C++Builder 6下实现RichEdit滚屏效果[原创]
  3. 《数据科学与大数据分析——数据的发现 分析 可视化与表示》一2.3 第2阶段:数据准备...
  4. 这是一份面向Android开发者的复习指南,成功入职字节跳动
  5. 在腾讯,如何做 Code Review
  6. 上海民警这个方法让汽车提前“助跑”,路口通行效率提10%
  7. 普适计算机的应用领域有哪些,2017年度计算机科学各领域热点词汇
  8. mysql in 文本_MySQL_mysql 的load data infile,LOAD DATA INFILE语句从一个文本文 - phpStudy...
  9. 【转】我眼中的自动化测试框架设计要点
  10. c语言编程流水灯与交通灯实验,C51单片机实验报告流水灯交通灯定时器双机交互时钟(10页)-原创力文档...
  11. 了解有关计算机病毒的知识,从基础知识开始 全面认识计算机病毒
  12. MS coco数据集介绍及下载
  13. 计算机设置开机背景,电脑开关机背景图片怎么换
  14. html中font的作用,css中font-style有什么用?
  15. 第二章 SQL命令 ALTER TABLE(二)
  16. 知识付费产品复购率低成难题
  17. Android开发笔记(一百六十二)蓝牙设备的连接与配对
  18. css3倾斜的平行四边形,CSS3技巧之形状(平行四边形)
  19. 【OR】约束优化:对偶理论(2)
  20. 微信小程序上传单张或多张图片

热门文章

  1. 51单片机下载器兼串口通信模块制作(基于CH340C芯片)
  2. 《玩转股票量化交易》学习路线导览
  3. 台电平板计算机价格,台电T10平板电脑:这配置这价格没谁了
  4. 浅析alsa声卡驱动snd_pcm_start函数-将音频数据真实的发送到外部音频接口硬件
  5. SecurityError Error 2148 SWF 不能访问本地资源
  6. 71家基金子公司股东背景信息整理
  7. 47-Java编程案例七:双色球系统开发
  8. apollo学习之---调试工具(realtime_plot)
  9. 源代码电影涉及的计算机思想,从“计算机-进程-线程”的角度理解电影《源代码》...
  10. Unity中按钮控制模型爆炸拆分的制作