samba配置文件解释

合集下载

第13课 Linux的Samba服务器配置

第13课 Linux的Samba服务器配置

讲授内容教学设计∕备注第13次课第9章 Linux的Samba服务器配置本节目标:1.了解Samba的工作原理2.理解Samba的配置文件3.掌握Samba服务基本的配置指令本节知识点:1.Samba概述4.Samba的配置示例本节重点:1.Samba的配置文件2.Samba服务基本的配置指令本节难点:1.Samba的配置文件2.Samba服务基本的配置指令授课内容:1.Samba概述Samba是一款目前非常流行的、跨平台的共享文件和打印服务的软件。

(1)Samba服务的功能在Windows和Linux系统之间共享文件和打印服务。

(2)Samba的应用环境教学设计∕备注讲授内容(3)Samba的运行在RHEL 4中可以通过执行如下命令行来启动Samba服务器:#service smb start可以用ps命令来查看Samba服务器的两个进程:#ps –aux | grep smbd#ps –aux | grep nmbd2.Samba的配置文件Samba配置文件的结构(1)Samba服务的配置文件是/etc/samba/smb.conf(2)其结构分为两部分:一是全局设置部分,二是共享定义部分。

3.Samba服务基本的配置指令(1)全局设置部分的配置指令workgroup = MYGROUPserver string = Samba Serverprintcap name = /etc/printcapload printers = yescups options = raw讲授内容教学设计∕备注log file = /var/log/samba/%m.log功能:设置日志文件大小为50KB,若设置为0,则不对文件大小做限制。

security = user说明:RHEL 4中采用的是Samba3.0,该版本支持5种安全等级,分别是share、user、server、domain和ads。

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192dns proxy = no(2)共享定义部分的配置指令用户主目录共享[homes]#方括号中为共享名,homes很特殊,它可以代表每个用户的主目录comment = Home Directories#comment设置注释browseable = no#设置是否开放每个用户主目录的浏览权限,“no”表示不开放,即每个用户只能访问自己的主目录,无权浏览其他用户的主目录writable = yes所有用户都可以访问的共享[public]#设置共享名为publicpath = /home/samba#该共享所对应的实际路径public = yes#设置对所有用户开放read only = yes#默认情况下,对访问该目录的用户设置为只读权限write list = @staff讲授内容教学设计∕备注#设置只有staff组中的用户对该共享才有写权限,“@”表示组4.Samba的配置示例(1)添加Samba用户●#useradd user1●#passwd user1●#smbpasswd -a user1(2)访问Samba服务器及Windows上的共享资源每次修改完smb.conf配置文件后,都应该执行testparm命令来测试语法是否正确,然后,再启动Samba服务。

samba配置详解

samba配置详解

samba配置详解:Samba配置文件常用参数详解疯狂代码 / ĵ:http://IntegrativeServer/Article65311.htmlSamba配置文件常用参数详解Samba主配置文件叫smb.conf默认在/etc/samba/目录下smb.conf含有多个段每个段由段名开始直到下个段名每个段名放在方括号中间每段参数格式是:名称=指配置文件中行个段名和参数段名和参数名不分大小写除了[global]段外所有段都可以看作是个共享资源段名是该共享资源名字段里参数是该共享资源属性Samba安装好后使用testparm命令可以测试smb.conf配置是否正确使用testparm –v命令可以详细列出smb.conf支持配置参数全局参数:Global Settings =[global]config file = /usr/local/samba/lib/smb.conf.%m介绍说明:config file可以让你使用另个配置文件来覆盖缺省配置文件如果文件 不存在则该项无效这个参数很有用可以使得samba配置更灵活可以让台samba服务器模拟多台区别配置服务器比如你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己配置文件那么先在/etc/samba/host/下为PC1配置个名为smb.conf.pc1文件然后在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m这样当PC1请求连接Samba Server时smb.conf.%m就被替换成smb.conf.pc1这样对于PC1来说它所使用Samba服务就是由smb.conf.pc1定义而其他机器访问Samba Server则还是应用smb.confworkgroup = WORKGROUP介绍说明:设定 Samba Server 所要加入工作组或者域server = Samba Server Version %v介绍说明:设定 Samba Server 注释可以是任何串也可以不填宏%v表示显示Samba版本号netbios name = smbserver介绍说明:设置Samba ServerNetBIOS名称如果不填则默认会使用该服务器DNS名称第部分netbios name和workgroup名字不要设置成样了erfaces = lo eth0 192.168.12.2/24 192.168.13.2/24介绍说明:设置Samba Server监听哪些网卡可以写网卡名也可以写该网卡IP地址hosts allow = 127. 192.168.1. 192.168.10.1介绍说明:表示允许连接到Samba Server客户端多个参数以空格隔开可以用个IP表示也可以用个网段表示hosts deny 和hosts allow 刚好相反例如:hosts allow=172.17.2.EXCEPT172.17.2.50表示容许来自172.17.2.*.*主机连接但排除172.17.2.50hosts allow=172.17.2.0/255.255.0.0表示容许来自172.17.2.0/255.255.0.0子网中所有主机连接hosts allow=M1M2表示容许来自M1和M2两台计算机连接hosts allow=@xq表示容许来自XQ网域所有计算机连接max connections = 0介绍说明:max connections用来指定连接Samba Server最大连接数目如果超出连接数目则新连接请求将被拒绝0表示不限制deadtime = 0介绍说明:deadtime用来设置断掉个没有打开任何文件连接时间单位是分钟0代表Samba Server不自动切断任何连接time server = yes/no介绍说明:time server用来设置让nmdb成为windows客户端时间服务器log file = /var/log/samba/log.%m介绍说明:设置Samba Server日志文件存储位置以及日志文件名称在文件名后加个宏%m(主机名)表示对每台访问Samba Server机器都单独记录个日志文件如果pc1、pc2访问过Samba Server就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件max log size = 50介绍说明:设置Samba Server日志文件最大容量单位为kB0代表不限制security = user介绍说明:设置用户访问Samba Server验证方式共有 4种验证方式1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低2. user:Samba Server共享目录只能被授权用户访问,由Samba Server负责检查账号和密码正确性账号和密码要在本Samba Server中建立3. server:依靠其他Windows NT/2000或Samba Server来验证用户账号和密码,是种代理验证此种安全模式下,系统管理员可以把所有Windows用户和口令集中到个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代方式4. do:域安全级别,使用主域控制器(PDC)来完成认证passdb backend = tdbsam介绍说明:passdb backend就是用户后台意思目前有 3种后台:smbpasswd、tdbsam和ldapsamsam应该是security account manager(安全账户管理)简写1.smbpasswd:该方式是使用smb自己工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置个Samba密码客户端就用这个密码来访问Samba资源smbpasswd文件默认在/etc/samba目录下不过有时候要手工建立该文件2.tdbsam:该方式则是使用个数据库文件来建立用户数据库数据库文件叫passdb.tdb默认在/etc/samba目录下passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户不过要建立Samba用户必须先是系统用户我们也可以使用pdbedit命令来建立Samba账户pdbedit命令参数很多我们列出几个主要pdbedit –a username:新建Samba账户pdbedit –x username:删除Samba账户pdbedit –L:列出Samba用户列表读取passdb.tdb数据库文件pdbedit –Lv:列出Samba用户列表详细信息pdbedit –c “[D]” –u username:暂停该Samba用户账号pdbedit –c “” –u username:恢复该Samba用户账号3.ldapsam:该方式则是基于LDAP账户管理方式来验证用户首先要建立LDAP服务然后设置“passdb backend = ldapsam:ldap://LDAP Server”encrypt passwords = yes/no介绍说明:是否将认证密码加密现在windows操作系统都是使用加密密码所以般要开启此项不过配置文件默认已开启smb passwd file = /etc/samba/smbpasswd介绍说明:用来定义samba用户密码文件smbpasswd文件如果没有那就要手工新建username map = /etc/samba/smbusers介绍说明:用来定义用户名映射比如可以将root换成administrator、admin等不过要事先在smbusers文件中定义好比如:root = administrator admin这样就可以用administrator或admin这两个用户来代替root登陆Samba Server更贴近windows用户习惯options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192介绍说明:用来设置服务器和客户端的间会话Socket选项可以优化传输速度do master = yes/no介绍说明:设置Samba服务器是否要成为网域主浏览器网域主浏览器可以管理跨子网域浏览服务local master = yes/no介绍说明:local master用来指定Samba Server是否试图成为本地网域主浏览器如果设为no则永远不会成为本地网域主浏览器但是即使设置为yes也不等于该Samba Server就能成为主浏览器还需要参加选举preferred master = yes/no介绍说明:设置Samba Server开机就强迫进行主浏览器选举可以提高Samba Server成为本地网域主浏览器机会如果该参数指定为yes时最好把do master也指定为yes使用该参数时要注意:如果在本Samba Server所在子网有其他机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时那么这些机器将会争夺主浏览器而在网络上大发广播影响网络性能如果同个区域内有多台Samba Server将上面 3个参数设定在台即可os level = 200介绍说明:设置samba服务器os level该参数决定Samba Server是否有机会成为本地网域主浏览器os level从0到255winNTos level是32win95/98os level是1Windows 2000os level是64如果设置为0则意味着Samba Server将失去浏览选择如果想让Samba Server成为PDC那么将它os level值设大些do logons = yes/no介绍说明:设置Samba Server是否要做为本地域控制器主域控制器和备份域控制器都需要开启此项logon script = %u.bat介绍说明:当使用者用windows客户端登陆那么Samba将提供个登陆档如果设置成%u.bat那么就要为每个用户提供个登陆档如果人比较多那就比较麻烦可以设置成个具体文件名比如start.bat那么用户登陆后都会去执行start.bat而不用为每个用户设定个登陆档了这个文件要放置在[netlogon]path设置目录路径下wins support = yes/no介绍说明:设置samba服务器是否提供wins服务wins server = wins服务器IP地址介绍说明:设置Samba Server是否使用别wins服务器提供wins服务wins proxy = yes/no介绍说明:设置Samba Server是否开启wins代理服务dns proxy = yes/no介绍说明:设置Samba Server是否开启dns代理服务load prers = yes/no介绍说明:设置是否在启动Samba时就共享打印机prcap name = cups介绍说明:设置共享打印机配置文件pring = cups介绍说明:设置Samba共享打印机类型现在支持打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx共享参数:Share Definitions[共享名]comment = 任意串介绍说明:comment是对该共享描述可以是任意串path = 共享目录路径介绍说明:path用来指定共享目录路径可以用%u、%m这样宏来代替路径里unix用户和客户机Netbios名用宏表示主要用于[homes]共享域例如:如果我们不打算用home段做为客户共享而是在/home/share/下为每个Linux用户以他用户名建个目录作为他共享目录这样path就可以写成:path = /home/share/%u; 用户在连接到这共享时具体路径会被他用户名代替要注意这个用户名路径定要存在否则客户机在访问时会找不到网络路径同样如果我们不是以用户来划分目录而是以客户机来划分目录为网络上每台可以访问samba机器都各自建个以它netbios名路径作为区别机器共享资源就可以这样写:path = /home/share/%mbrowseable = yes/no介绍说明:browseable用来指定该共享是否可以浏览writable = yes/no介绍说明:writable用来指定该共享路径是否可写available = yes/no介绍说明:available用来指定该共享资源是否可用admin users = 该共享管理者介绍说明:admin users用来指定该共享管理员(对该共享具有完全控制权限)在samba 3.0中如果用户验证方式设置成“security=share”时此项无效例如:admin users =bobyuanjane(多个用户中间用逗号隔开)valid users = 允许访问该共享用户介绍说明:valid users用来指定允许访问该共享资源用户例如:valid users = bobyuan@bob@tech(多个用户或者组中间用逗号隔开如果要加入个组就用“@+组名”表示)invalid users = 禁止访问该共享用户介绍说明:invalid users用来指定不允许访问该共享资源用户例如:invalid users = root @bob(多个用户或者组中间用空格隔开)public = yes/no介绍说明:public用来指定该共享是否允许guest账户访问guest ok = yes/no介绍说明:意义同“public”几个特殊共享:[homes]comment = Home Directoriesbrowseable = nowritable = yesvalid users = %S; valid users = MYDOMAIN\%S[prers]comment = All Prerspath = /var/spool/sambabrowseable = noguest ok = nowritable = noprable = yes[netlogon]comment = Network Logon Service path = /var/lib/samba/netlogonguest ok = yeswritable = noshare modes = no[Profiles]path = /var/lib/samba/profiles browseable = noguest ok = yes 2009-3-28 1:26:11 疯狂代码 /。

SAMBA服务器

SAMBA服务器

SAMBA服务器SAMBA服务器是一种网络文件系统,可以在局域网内共享文件和打印机等资源。

它是基于SMB/CIFS协议的开源实现,可运行在多种操作系统上,包括Linux、Unix和Windows等。

在本文中,将详细介绍SAMBA服务器的基本概念、安装配置以及一些常见应用。

一、SAMBA服务器的基本概念2.工作组和域:SAMBA服务器可以配置为工作组模式或域模式。

在工作组模式下,所有设备共享同一个工作组,没有集中的身份验证和管理机制。

而在域模式下,设备可以加入到一个域中,域控制器负责身份验证和资源访问的控制。

3.共享资源:SAMBA服务器可以共享文件夹、打印机和其他资源。

通过SAMBA服务器,用户可以在局域网内访问和操作这些共享资源,就像是访问本地文件一样方便。

1. 安装:在大部分Linux发行版中,SAMBA服务器都可以通过包管理工具来安装。

例如,在Ubuntu上可以使用apt-get命令来安装samba软件包。

2. 配置:SAMBA服务器的配置文件是/etc/samba/smb.conf。

在这个文件中,可以定义共享文件夹、打印机、用户访问权限等参数。

需要注意的是,配置文件的语法较为复杂,需要仔细阅读官方文档或参考相关教程。

三、SAMBA服务器的常见应用1. 文件共享:SAMBA服务器可以将指定文件夹共享给局域网内的用户。

通过SAMBA协议,用户可以在Windows、Linux和Mac等各种操作系统上访问和操作这些共享文件夹。

2.打印服务:SAMBA服务器可以将本地打印机共享给局域网内的用户。

这样,用户可以在自己的计算机上安装打印机驱动程序,并通过网络打印文件。

3.身份验证:SAMBA服务器可以与域控制器集成,实现统一的用户身份验证。

这样,用户在任何设备上登录后,都可以访问其所拥有的共享资源。

4. 混合环境集成:SAMBA服务器可以在Windows和Linux等不同操作系统之间实现文件共享和打印服务的集成。

samba 语法

samba 语法

samba 语法Samba 是一个提供文件和打印服务的软件套件,适用于各种Microsoft Windows 客户端,并可以与Windows 服务器环境集成。

它允许在不同操作系统之间共享文件和打印机,包括Linux、Windows 和macOS。

Samba 的配置涉及编辑smb.conf文件,这是Samba 服务器的主要配置文件。

以下是Samba 配置文件语法的基本概述以及一些常见参数:1.全局设置:[global]workgroup = WORKGROUPserver string = Samba 服务器security = usermap to guest = Bad User•workgroup:指定服务器所属的工作组。

•server string:描述Samba 服务器。

•security:定义身份验证方法。

对于独立服务器,通常选择"user"。

•map to guest:指定当未经身份验证的用户尝试访问共享时的行为。

2.共享定义:[share-name]path = /path/to/shared/foldercomment = 共享文件夹的描述browseable = yesguest ok = noread only = nocreate mask = 0755•path:指定共享文件夹的路径。

•comment:提供共享文件夹的描述。

•browseable:确定共享是否对客户端可见。

•guest ok:允许或拒绝对共享的访客访问。

•read only:指定共享是只读还是读写。

•create mask:设置新文件的默认权限。

3.用户身份验证:[homes]comment = 用户目录browseable = nowritable = yes•homes:自动为每个用户的主目录创建一个共享。

•writable:指定用户是否对其主目录具有写访问权限。

4.用户和组映射:username map = /etc/samba/smbusers•username map:指定用户名映射文件的位置。

SMB服务配置

SMB服务配置

samba 是一个文件共享协议,用于在计算机之间共享文件。

linux 支持支持 samba 协议。

但在 linux 系统之间进行文件共享时,一般使用 nfs。

samba 一般用于 linux 和 windows 之间 的文件共享,在服务器环境中,Windows 服务器对设备的支持较好,比如一些备份设备;上 层的应用软件也可能需要 linux 的文件,由于 windows 2003 及以下版本对 nfs 支持不好,在 linux 和 Windows 之间共享文件一般用 samba。

假设有一台磁带机安装在 Windows Server 下, 为了实现备份 linux 的文件, 则需要 linux 系统安装 samba 服务,发布共享目录,便于 Windows 系统共享和备份。

(一)安装 SMB[root@myserver ~]# rpm -q samba package samba is not installed [root@myserver ~]# mount /dev/cdrom /mnt mount: block device /dev/cdrom is write-protected, mounting read-only [root@myserver ~]# cd /mnt/Server [root@myserver Server]# ls *samba* samba-3.0.23c-2.i386.rpm samba-swat-3.0.23c-2.i386.rpm samba-client-3.0.23c-2.i386.rpm system-config-samba-1.2.39-1.el5.noarch.rpm samba-common-3.0.23c-2.i386.rpm [root@myserver Server]# rpm -ivh samba-3.0.23c-2.i386.rpm warning: samba-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:samba ########################################### [100%] [root@myserver Server]# service smb status smbd 已停 nmbd 已停 [root@myserver Server]# service smb start 启动 SMB 服务: [确定] 启动 NMB 服务: [确定] 为了让 windows 访问共享,需要先添加一个系统帐户,并为该帐户设置 smb 密码,该 密码和 linux 帐户密码可以不同,以便保证即使知道共享密码也不能直接登入 linux。

samba 配置文件详解

samba 配置文件详解

服务名:smb配置目录:/etc/sabma/主配置文件:/etc/sabma/smb.conf#============================== Global Settings =============================17行workgr oup语法workgtoup = <工作组群>;预设workgroup = M YGROUP说明设定Samba Server 的工作组例workgroup = workgroup 和WIN2000S设为一个组,可在网上邻居可中看到共享21行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 Server28行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 server32行printcap name语法printcap name= <打印机配置文件>;预设printcap name= /etc/printcap说明设定samba srever 打印机的配置文件例printcap name= /etc/printcap设定samba srever 参考/etc/printcap 档的打印机设定语法load printers = <yes/no>;预设load printers = ye s说明是否在开启samba server 时即共享打印机38行printing语法printing = <打印机类型>;预设printing = lprng说明设定samba server 打印机所使用的类型,37行为目前所支持的类型42行guest account语法guert account = <帐户名称>;预设guert account = pcguest说明设定访问samba server 的来宾帐户(即访问时不用输入用户名和密码的帐户),若设为pcguest的话则为默认为"nobody"用户例guert account = andy 设定设定访问samba server 的来宾帐户以andy用户登陆,则此登陆帐户享有andy用户的所有权限46行log file语法log file= <日志文件>;预设log file= /var/log/samba/%m.log说明设定samba server 日志文件的储存位置和文件名(%m代表客户端主机名)49行max log size语法max log size = <??KB>;预设max log size = 0说明设定日子文件的最大容量,单位KB 这里的预设值0代表不做限制53行security语法se curity= <等级>;预设se curity= user说明设定访问samba server 的安全级别共有四种share---不需要提供用户名和密码user----需要提供用户名和密码,而且身份验证由samba server 负责******==>如果预设user ,则添加配置:username map =server--需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台samba server作身份验证domain--需要提供用户名和密码,指定wi nNT/2000/XP域服务器作身份验证60行password server语法password server = <IP地址/主机名>;预设password server = <NT-Server-Name>;说明指定某台服务器(包括windows 和linux)的密码,作为用户登入时验证的密码其他此项需配合security= server时,才可设定本参数64行password level65行username level语法password level = <位数>;username level = <位数>;预设password level = 8username level = 8说明设定用户名和密码的位数,预设为8位字符70行encrypt passwords语法encrypt passwords = <yes/no>;预设encrypt passwords = yse说明设定是否对samba的密码加密71行smb passwd file语法smb passwd file= <密码文件>;预设smb passwd file= /etc/samba/smbpasswd说明设定samba的密码文件130行local master语法local ma ster = <yes/no>;预设local ma ster = no说明设定samba server 是否要担当LMB角色(LMB负责收集本地网络的Browse List资源),通常无特殊原因设为no134行os level = 33语法os level = <数字>;说明设定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以上139行domain master语法domain ma ster = <yes/no>;预设domain ma ster = yes说明设定samba server 是否要担当DMB角色(DMB会负责收集其他子网的Browse List资源),通常无特殊原因设为no143行preferred master语法preferred master = <ye s/no>;预设preferred master = yes说明设定samba server 是否要担当PDC角色(PDC会负责追踪网络帐户进行的一切变更),通常无特殊原因设为no.(同一网段内不可有两个PDC,他们会每5分钟抢主控权一次)163行wins support语法wins support = <yes/no>;预设wins support = yes说明设定samba server 是否想网络提供WINS服务,通常无特殊原因设为no.除非所处网络上没有主机提供WINS服务且需要此台samba server提供WINS服务是才设yes其他wins support 和wins server 只能选择一个167行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 Directoriesbrowseable = nowritable = yesvalid users = %S使用者本身的"家"目录,当使用者以samba使用者身份登入samba server 后,samba server 底下会看到自己的家目录,目录名称是使用者自己的帐号[分享的资源名称]<指令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 onlyvaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)invalid users---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)read list-------设定此名单内的成员为只读(用户名/@组名)write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)create ma sk-----建立文件时所给的权限directory ma sk--建立目录时所给的权限force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)allow hosts-----设定只有此网段/IP的用户才能访问共享资源allwo hosts = 网段ex cept IPdeny hosts------设定只有此网段/IP的用户不能访问共享资源allow hosts=本网段指定IP指定IPdeny hosts=指定IP本网段指定IP1. 改smb.conf文件;在[global]部分加入:null passwords = yes设置securit y= share取消guest account = pcgu est 的注释建立[pcguest]段:[pcguest]comment = pcgu est's sharepath = /home/pcguestpublic = yesguest ok= y eswritable = yes2.建立pcguest用户,并修改/home/pcguest目录权限#useradd p cguest#passwd pcguest#chmod a+r,a+w /home/pcguest3.将pcguest加入smbp asswd文件中#smbpasswd -a pcgu est#smbpasswd -n p cguest4.重启samb a.================================================================================work group = MYGROUP//此项表示在Windows操作系统中的“网上邻居”将会出现的SAMBA服务器所属群组,默认MYGROUP,不区分大小写。

《网络服务器配置与管理》课件第9章samba服务


设置服务器注释
;
netbios name = MYSERVER
设置服务器显示主机名
;
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 设置samba服务器侦听接口和地址
;
hosts allow = 127. 192.168.12. 192.168.13.
;
local master = no
;
os level = 33
;
preferred master = yes
;
wins support = yes
;
wins server = w.x.y.z
设置wins服务器地址
;
wins proxy = yes
;
dns proxy = yes
load printers = yes
[homes]
设置Linux系统用户访问自己的主目录
comment = Home Directories
注释
browseable = no
设定用户是否可以浏览目录
writable = yes
开启写权限
;
valid users = %S
设置服务器上的有效用户,%S 表示Samba服务器共享名称
;
valid users = MYDOMAIN\%S
2024/4/19
;
delete user script = /usr/sbin/userdel "%u"
;
delete user from group script = /usr/sbin/userdel "%u" "%g"

samba 语法

samba 语法【实用版】目录1.Samba 简介2.Samba 的语法结构3.Samba 的配置文件4.Samba 的安全性设置5.Samba 的常见问题与解决方法正文Samba 是一个开源的软件,主要用于在 Linux 和 Unix 系统上实现SMB/CIFS 协议,使得这些系统可以与 Windows 系统进行文件共享和打印服务。

Samba 的语法结构相对简单,主要由配置文件和安全性设置两部分组成。

一、Samba 简介Samba 项目始于 1992 年,是为了在 Linux 系统上实现 Windows 的 SMB/CIFS 文件共享和打印服务。

Samba 通过模仿 Windows 的文件共享和打印服务,使得 Linux 系统可以与 Windows 系统进行无缝的文件共享和打印。

二、Samba 的语法结构Samba 的语法结构主要包括两个部分:配置文件和命令行工具。

1.配置文件:Samba 的配置文件主要位于/etc/samba/目录下,包括smb.conf、smbusers、smbgROUP 等文件。

其中,smb.conf 是 Samba 的主配置文件,用于设置 Samba 的服务类型、共享目录、用户和组等。

2.命令行工具:Samba 提供了一系列命令行工具,用于管理 Samba 服务,包括 smbd、nmbd、smbpasswd 等。

三、Samba 的配置文件Samba 的配置文件主要包括以下几个:1.smb.conf:Samba 的主配置文件,用于设置 Samba 的服务类型、共享目录、用户和组等。

2.smbusers:用于设置 Samba 的用户映射,即将 Linux 的用户映射为 Samba 的用户。

3.smbgROUP:用于设置 Samba 的组映射,即将 Linux 的组映射为Samba 的组。

4.hosts allow/deny:用于设置Samba的访问控制列表,即允许或拒绝特定的IP地址或主机访问Samba服务。

Samba服务器搭建与配置

Samba服务器搭建与配置Samba服务器搭建与配置Samba服务简介Samba的起源:对于windows的⽹上邻居来讲,共享⽂件的⽅式⽤的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间⽤的是NFS协议。

但是Linux和Windows之间是不能共享的,所以澳⼤利亚国⽴⼤学的Andrew Tridgell,决定开发⼀款软件,这款软件就是为了实现不同的系统之间互相共享⽂件的,于是⼀款叫做SMB的软件横空出世了,但是这个名字不能被注册成商标,因为已经有SMB协议了,于是作者给名字上加了两个A,就成了我们即将使⽤的功能强的⽂件共享服务器: SAMBA。

什么是Samba:Samba是⼀个能让Linux系统应⽤Microsoft⽹络通讯协议的软件,⽽SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的⽹络通讯协议,后来Samba将SMB通信协议应⽤到了Linux系统上,就形成了现在的Samba软件。

后来微软⼜把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet ⽂件系统,并且加⼊了许多新的功能,这样⼀来,使得Samba具有了更强⼤的功能。

Samba的功能:Samba最⼤的功能就是可以⽤于Linux与windows系统直接的⽂件共享和打印共享,Samba既可以⽤于windows与Linux之间的⽂件共享,也可以⽤于Linux与Linux之间的资源共享,由于NFS(⽹络⽂件系统)可以很好的完成Linux与Linux之间的数据共享,因⽽ Samba较多的⽤在了Linux与windows之间的数据共享上⾯。

Samba的⼯作原理:SMB是基于客户机/服务器型的协议,因⽽⼀台Samba服务器既可以充当⽂件共享服务器,也可以充当⼀个Samba的客户端,例如,⼀台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源⽂件,同时,Samba服务器也可以访问⽹络中其它windows系统或者Linux系统共享出来的⽂件。

SAMBA配置文件详解

SAMBA配置⽂件详解全局参数:==================Global Settings ===================[global]config file = /usr/local/samba/lib/smb.conf.%m说明:config file可以让你使⽤另⼀个配置⽂件来覆盖缺省的配置⽂件。

如果⽂件不存在,则该项⽆效。

这个参数很有⽤,可以使得samba配置更灵活,可以让⼀台samba服务器模拟多台不同配置的服务器。

⽐如,你想让PC1(主机名)这台电脑在访问SambaServer时使⽤它⾃⼰的配置⽂件,那么先在/etc/samba/host/下为PC1配置⼀个名为smb.conf.pc1的⽂件,然后在smb.conf中加⼊:config file =/etc/samba/host/smb.conf.%m。

这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。

这样,对于PC1来说,它所使⽤的Samba服务就是由smb.conf.pc1定义的,⽽其他机器访问Samba Server则还是应⽤smb.conf。

workgroup = WORKGROUP说明:设定Samba Server 所要加⼊的⼯作组或者域。

server string = Samba Server Version %v说明:设定Samba Server 的注释,可以是任何字符串,也可以不填。

宏%v表⽰显⽰Samba的版本号。

netbios name = smbserver说明:设置Samba Server的NetBIOS名称。

如果不填,则默认会使⽤该服务器的DNS名称的第⼀部分。

netbios name和workgroup名字不要设置成⼀样了。

interfaces = lo eth0 192.168.80.2/24 192.168.81.2/24说明:设置Samba Server监听哪些⽹卡,可以写⽹卡名,也可以写该⽹卡的IP地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、配置文件的结构1、主配置文件smb.conf。

在配置参数有以下几个共性。

(1)参数配置基本采用“参数” = “值”的方式,如果参数有多个值时,多个参数之间用空格分隔。

(2)当使用用户和组作为参数时,值为组时需在组名前加@字符。

(3)以“;”或“#”开始的是注释行。

(4)方括号标识表示为标志,比如[global]为全局配置标识。

(5)一般当全局配置与某个共享资源配置发生冲突时,共享资源配置优先。

(6)关键字对大小写不敏感。

配置文件/usr/local/samba/etc/smb.conf或/etc/samba/smb.conf内容结构==================== Global Settings =============== =====#以[global]开始,该部分主要涉及Samba服务的全局配置。

[global]-----------Network Related Options----------workgroup = MYGROUP 设置Samba服务所在工作组或域的名称,默认为MYGROUP。

server string = Samba Server Version %v 设置Samba服务器的描述信息,默认为Samba Server Version %v。

可以使用Samba设定的变量。

netbios name =Samba Server 设置Samba服务器NetBIOS名称,默认使用该服务器的DNS名称的第一部分。

interfaces = lo eth0 192.168.10.1/24 设置服务器监听本地网络接口(网卡),使用该参数时,推荐保留lo(本地回环地址),参数设置:网络接口名(eth0/1);IP地址。

hosts allow = 127. 192.168.10. 192.168.10.1 except 192.168.10.100 允许连接到Samba服务器的客户端;对应是hosts deny参数。

use sendfile =no 当设置为yes时,将直接由 kernel 读取数据后发给客户端,大大提高效率;默认no。

getwd cache =yes 是否启用cache功能。

默认yes。

max connectons =0 允许连接到服务器的最大连接数,0表示无限制max open files = 16404 同一个客户端最多能打开的文件数目。

deadtime = 0 设置断开一个没有打开任何文件的链接的时间,单位是分钟,0表示无限制keepalive = 60 服务器每隔多少秒向客户端发送keepalive包用于确认客户端是否工作正常。

time server = yes/no 设置让nmbd成为windows客户端的时间服务器guest account = nobodyfstype = Samba FileSystem 定义Windows客户端显示的文件系统。

username map = </usr/local/samba/etc/smbusers或/etc/smaba/smbu sers> 定义用户映射关系的文件config file = </usr/local/samba/etc/smb.conf.%m> 使用另外的配置文件来覆盖缺省的配置文件说明:host allow= value设置Example 1: allow all IPs in 150.203.*.*; except onehosts allow = 150.203. EXCEPT 150.203.6.66Example 2: allow hosts that match the given network/netmaskhosts allow = 150.203.15.0/255.255.255.0Example 3: allow a couple of hostshosts allow = lapland, arvidsjaurExample 4: allow only hosts in NIS netgroup "foonet", but deny acc ess from one particular hosthosts allow = @foonethosts deny = pirateSamba设定的变量:-----------Logging Options----------log level = 8 设置日志记录等级。

值越大越详细。

参数设置:0~10。

log file = /var/log/samba/log.%m 定义Samba日志文件的位置及名称。

默认为每一个与服务器连接的客户端定义一个单独的日志文件。

max log size =50 设置最大的日志文件大小,单位为KB。

-----------Standalone Server Options----------#使用独立服务器作为Samba服务器认证用户来源,也就是当访问Samba服务器时输入的用户名和密码的验证工作由Samba服务器本机系统内账户完成。

security = user 设置安全级别,即客户端访问Samba服务器的验证方式。

此部分中只能设置以下三种参数,参数设置:share(不推荐)、user、server(不推荐)。

passdb backend = tdbsam 参数设置:smbpasswd、tdbsam、ldapsam、mysql。

默认为tdbsam,一般不用修改,除非想使用老版本Samba服务器的smbpasswd文件方式或其它方式。

encrypt passwords= yes/no 认证密码在传输过程中是否加密。

参数说明:security = share/user/server/domain/ads以下三种安全级别用在Standalone Server Options部分,其中user级别也用于Domain Controller Options部分。

(1)share:访问Samba服务器共享资源时不需要输入用户名和密码,属于匿名访问。

(2)user:访问Samba服务器共享资源时需要输入用户名和密码,认证用户来源为Samba服务器本机。

(3)server:访问Samba服务器共享资源时需要输入用户名和密码,认证用户来源为另一台Samba服务器或Windows服务器。

以下两种安全级别用在Domain Members Options部分:(4)domain:Samba服务器在一个基于Windows NT平台的Windows 域中,访问共享资源需要输入用户名和密码,认证用户来源为Windows域。

(5)ads:Samba服务器在一个基于Windows 200X平台的Windows活动目录中,访问共享资源需要输入用户名和密码,认证用户来源为Windows活动目录。

passdb backend = tdbsam/smbpasswd/ldapsam/mysql(1)tdbsam:该方式使用一个数据库文件来建立用户数据库,数据库文件名为passdb.tdb。

可以使用#smbpasswd -a [用户名]来建立Samba用户。

也可以使用pdbedit命令来建立用户。

(2)smbpasswd:该方式使用Samba提供的工具smbpasswd来给系统用户设置一个用于访问Samba服务的密码,客户端就用这个密码访问Samba共享资源。

此方式还要使用一个smb passwd file = /usr/local/samba/etc/smb passwd(或/etc/samba/smbpasswd)参数来指定保存用户名和密码的文件,该文件需要手动建立。

不推荐使用此方法。

(3)ldapsam:该方式基于LADP的账户管理方式来验证用户,先要建立LDA P服务。

(4)mysql:该方式是将Samba服务器的用户名和密码存储到MySQL数据库中。

pdbedit命令常用参数:pdbedit –a username:新建Samba账户。

pdbedit –x username:删除Samba账户。

pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit –Lv:列出Samba用户列表的详细信息。

pdbedit –c “[D]”–u username:暂停该Samba用户的账号。

pdbedit –c “[]”–u username:恢复该Samba用户的账号。

注意:Standalone Server Options、Domain Members Options、Domain Cont roller Options三部分均与Samba的认证方式及工作角色��关,三部分均需要配置合适的security(安全级别,用于配置Samba的认证方式),此三部分为服务器的三种角色。

-----------Domain Members Options----------#该部分将Samba服务器加入Windows NT平台域或Windows 2000 Serve r/2003/2008活动目录中。

也就是当访问Samba服务器时输入的用户名和密码的验证工作由域控制器完成。

security = domain 在此部分中该参数只能设置为domain、ads。

passdb backend = tdbsam 默认为tdbsam,不用修改。

realm = MY_REALMpassword server = <NT-Server-Name> 指定进行身份验证的域控制器IP 地址或主机名。

参数说明:-----------Domain Controller Options----------#该部分将Samba服务器配置为一台域控制器。

security = user 在此部分中该参数只能设置为user。

passdb backend = tdbsam 默认为tdbsam,一般不用修改。

domain master = yes 让Samba成为主域控制器(PDC),在此部分中此参数必须为yes。

domain logons = yes 允许旧的Windows客户端提交验证信息。

logon script = %m.bat/%u.bat 当用户登录到域时执行的启动脚本,依据机器名或用户名加载脚本(相当于Windows组策略中用户开机脚本)。

logon path = \\%L\Profiles\%u 当用户登录到域后的配置文件存放的位置,用来初始化工作环境(相当于Windows中的漫游配置文件)。

add user script = /usr/sbin/useradd "%u" -n -g users 指定Windows 与Linux中用户信息同步脚本,当Windows域中新建用户后指定脚本会将该用户的信息复制到Linux中。

相关文档
最新文档