如何配置samba服务器
1、安装有关Samba的RPM包(samba、samba-common、samba-client)
2、创建Samba用户
3、修改配置文件
4、重启samba服务
5、设置目录访问权限
6、测试
具体步骤如下:
1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)
[root@localhost ~]#rpm -qa | grep samba
samba -----samba服务器程序的所有文件
samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件
samba-client -----提供了Samba客户机的所有文件
samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能
2、创建samba用户
[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用
[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)
3、修改配置文件
samba配置文件的位置:/etc/samba/smbconf
[root@localhost ~]#vim /etc/samba/smbconf
Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”
Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。
2、share -----客户端连接服务器时不需要输入用户名和密码
3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。
4、domain -----采用域控制器对用户进行身份验证
5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器
共享目录的配置
[homes] -----samba用户的宿主目录
comment = Home Directories -----设置共享的说明信息
browseable = no -----目录浏览权限
writable = yes -----用户对共享目录可写
这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。
以下是共享打印机的设置:
[printers] -----共享打印机
comment = All Printers -----设置共享的说明信息
path = /var/spool/samba -----指定共享目录的路径
browseable = no -----目录浏览权限
guest ok = no -----允许来宾访问
writable = no -----用户对共享目录可写
printable = yes -----可以打印
以上是系统默认设置
添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)
[ASUS]
comment = user1 Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /ASUS -----指定共享目录的路径
[public]
comment = all user Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /public -----指定共享目录的路径
guest ok = yes -----允许来宾访问
4、修改完配置文件后需要重启samba服务
[root@localhost ~]#service smb restart
Samba服务器包括两个服务程序
2 smbd
smbd服务程序为客户机提供了服务器中共享资源的访问
2 nmbd
nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析
5、设置目录权限
[root@localhost ~]#mkdir /ASUS ------创建要共享目录
[root@localhost ~]#mkdir /public ------创建要共享的目录
[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有
所有权,属组只读,其它用户不能访问)
[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1
[root@localhost ~]#groupadd ASUS ------添加ASUS组
[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组
[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组
[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为
ASUS
[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制
权限
配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件
记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无
法访问Linux服务器上的共享资源
6、测试
找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击
“搜索”
如图所示:已经搜索到
双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码
作测试。
登录成功,
打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一
下,如图所示:可以创建
Public目录是允许任何用户上传、下载及删除文件,如图所示
User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作
切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚
计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清
除计算机上缓存
重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录
以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目
录拥有所有权
再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码
如图所示:user3无法访问ASUS目录
User3只对user3和public目录拥有所有权
SMB文件是四五打印助手的模板,可以使用四五打印助手打开该模板。
SMB可用于web连接和客户端和服务器之间的信息通信。SMB最初是由贝瑞·费根鲍姆开发的。其目的是将DOS中操作系统中的本地文件接口“中断13”转换成网络文件系统。
扩展资料:
1、SMB是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。
2、SMB协议可以为局域网用户提供相关的功能和机制,保证传输的可靠性。局域网中90%的数据包和95%的字节通过SMB协议传输,解决了共享带宽时网络的稳定性、公平性、拥塞控制和数据流效率等问题。
3、由于SMB传输应用的广泛性和重要性,许多计算机领域的学者致力于这方面的研究,并对SMB协议及其多版本在各种网络中的传输效率进行了大量的研究和实验。
-SMB
这里只讲到一些很简单的配置,为了方便初学者进行win和linux的通信,也可以了解一些linux服务的配置环境。
概要:
Windows中有一个网络邻居,它提供在局域网内的小型网络资源共享方案,计算机之间使用Samba套件SMB(Session Message Block)协议服务通信。LINUX也可以通过此协议与Windows实现类似网络邻居的通信。下面将介绍SMB协议在Linux下的安装、配置和使用。
注:对于Linux的一些基本使用这里不作详细介绍。SMB基于NetBIOS协议工作。
安装:
Samba的安装包可从网络下载,现在的版本是22。我从LINUX的安装盘中找到的安装包(223),共三个,都以Samba开头,RPM包格式,用rpm –ivh xxxrpm 解包,将把服务和工具存放到/sbin和/usr/bin下,配置文件在/etc/samba中。查找一下smb、nmb、smbclient工具是否存在。
配置:
对Samba的配置主要是对smbconf文件的设置。配置项目和方法有机百种之多,在配置文件目录中提供一个预制的配置文件,你只要对其进行改动就行,;和#表示注释。下面将对配置中的主要项目加以说明。
注:这里只是配置将本机对外公布的数据,如何使用其它主机的服务几乎与此无关,但最好配置一下。
1、 简化配置,清晰概念
smbconf的基本数据只有三段[global]、[homes]、[printers],分别对服务通信数据、个人目录和打印机进行配置。其中[global]段是必需的,[homes]的默认设置使将登陆用户的的主目录进行共享,[printers]是共享系统中配置的所有打印机。
2、 [global]段
这一段只介绍一下基本的配置。其他可根据需要设置。
a) 以下配置在网络邻居里的显示信息
Workgroup = 工作组名 与windows工作组是一个意思
Server string = xxxxx 对计算机的简要说明
b) 如果要共享打印机,使用以下几项
Printcap name = /etc/printcap 打印机配置文件列表
Load printers = yes
printing = lprng 说明打印机类型
c) 指明日志文件
log file = /var/log/samba/%mlog %m表示登陆用户账号
d) 设置公开资源使用级别,与windows的访问控制相像
security = user
e) 设置登陆密码,可用smbpasswd –a 用户名设置密码
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd 密码保存文件
f) 下面一部分很有意思,它可以将不同的登陆账号映射为现有的用户而不用要求系统必须有此账户,即当使用windows时不必注销和更换账号,并且linux也不必添加大量账号。
username map = /etc/samba/smbusers 映射文件
如果其他设置没有改动的话,现在启动samba就可以正常通信了。但使用是否如您所愿,还需要对共享数据进行配置。
3、[homes]段
comment = Home Directories 提示信息,不重要
browseable = no 是否显示次段表示的共享,但在[homes]段不起无用,仍然显示$HOME文件夹。
writable = yes
valid users = %S
create mode = 0664 在此文件夹中创建文件的默认权限
directory mode = 0775
4、[printers]段
comment = All Printers
path = /var/spool/lpd/testsmb 假脱机目录
browseable = no 与[homes]相同
# Set public = yes to allow user ’guest account’ to print
guest ok = no
writable = no
printable = yes
5、其他的共享资源设置与[printers]和[homes]中的设置差不多。可以参考一下配置文件中的一些注释掉的设置。
其他的配置是集成3、4段的设置参数,可参考其他资料。
启动:
Samba启动主要由smbd和nmbd完成,很简单
1、 smbd –D -d1
2、 nmbd -D -d1 -n 计算机名
smbd SMB的客户进程,使用smbconf文件
nmbd 提供NetBIOS有名服务和浏览支持。
-D 表示以守护进程方式运行 –d1 表示服务启动级别,d1就行
稍等让windows找到服务,打开网络邻居找找,应该能找到了,否则检查一下网络连通情况。或用testparm工具检查一下配置文件的语法。
使用:
这里只讲一下linux下的使用,windows下不会用的话,哪还是用linux吧,哈哈。
smbclient –L 远程计算机名 –U 用户名
将列出远程计算机上的共享资源情况
smbclient ‘\远程计算机名共享名称’ –u xx
将进入到一个类似ftp的文本界面,就像使用ftp一样,稍有不同,看一下,很简单。
如何启用或禁用 SMB 服务器上的 SMB 协议
Windows 8 和 Windows Server 2012
Windows 8 和 Windows Server 2012 引入了新的一组 SMBServerConfiguration Windows PowerShell cmdlet。该 cmdlet 可以启用或禁用服务器组件上的 SMBv1、 SMBv2 和 SMBv3 协议。
备注当您启用或禁用 SMBv2 或 Windows Server 2012 Windows 8 中时,SMBv3 也是启用还是禁用。出现此现象是因为这些协议都共享同一个堆栈。
不需要重新启动计算机后运行一组 SMBServerConfiguration cmdlet。
要获取的 SMB 服务器协议配置的当前状态,请运行以下 cmdlet: Get SmbServerConfiguration |选择 EnableSMB1Protocol,EnableSMB2Protocol
若要禁用 SMB 服务器上的 SMBv1,请运行以下 cmdlet: 组-SmbServerConfiguration-EnableSMB1Protocol $false
要禁用 SMBv2 和 SMBv3 SMB 服务器上,请运行以下 cmdlet: Set-SmbServerConfiguration -EnableSMB2Protocol $false
若要启用 SMB 服务器上的 SMBv1,请运行以下 cmdlet: 组-SmbServerConfiguration-EnableSMB1Protocol $true
若要启用 SMBv2 和 SMBv3 SMB 服务器上,运行以下 cmdlet: 组-SmbServerConfiguration-EnableSMB2Protocol $true
Windows 7、 Windows 服务器 2008 R2,Windows Vista 和 Windows 服务器 2008
若要启用或禁用正在运行的 SMB 服务器上的 SMB 协议Windows 7,Windows Server 2008 R2,Windows Vista 中或 Windows Server 2008 中,使用 Windows PowerShell 或注册表编辑器。
Windows PowerShell 20 或更高版本的 PowerShell
要禁用 SMB 服务器上的 SMBv1,请运行以下 cmdlet: 设置 ItemProperty 的路径
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters"SMB1-值 0-强制
若要禁用 SMBv2 和 SMBv3 SMB 服务器上,运行以下 cmdlet: 设置 ItemProperty 的路径
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters"SMB2-值 0-强制
若要启用 SMB 服务器上的 SMBv1,请运行以下 cmdlet: 设置 ItemProperty 的路径
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters"SMB1-值 1-强制
若要启用 SMBv2 和 SMBv3 SMB 服务器上,运行以下 cmdlet: 设置 ItemProperty 的路径
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters"SMB2-值 1-强制
注意在进行这些更改之后,必须重新启动计算机。
注册表编辑器
重要本文包含有关如何修改注册表的信息。确保在修改注册表前对其进行了备份。请确保您知道出现问题时如何还原注册表。有关如何备份、 还原和修改注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 322756
如何在 Windows XP 中备份和还原注册表
若要启用或禁用 SMB 服务器上的 SMBv1,请配置以下注册表项: 注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注册表项: SMB1 REG_DWORD: 0 = 禁用 REG_DWORD: 1 = 已启用 默认值: 1 = 已启用
若要启用或禁用 SMBv2 SMB 服务器上,配置以下注册表项: 注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注册表项: SMB2 REG_DWORD: 0 = 禁用 REG_DWORD: 1 = 已启用 默认值: 1 = 已启用 回到顶端 | 提供反馈
如何启用或禁用 SMB 客户端上的 SMB 协议
Windows Vista、 Windows 服务器 2008年、 Windows 7,Windows Server 2008 R2,Windows 8 和 Windows Server 2012
注意当您启用或禁用 SMBv2 在 Windows 8 或 Windows Server 2012 中时,SMBv3 也是启用还是禁用。因为这些协议共享同一个堆栈,将发生此问题。
若要禁用 SMB 客户端上的 SMBv1,请运行下面的命令:
scexe 配置 lanmanworkstation 取决于 = bowser/mrxsmb20/nsi scexe 配置 mrxsmb10 开始 = 禁用
若要启用 SMB 客户端上的 SMBv1,请运行下面的命令: scexe 配置 lanmanworkstation 取决于 = bowser/mrxsmb10/mrxsmb20/nsi scexe 配置 mrxsmb10 开始 = 自动
要禁用 SMBv2 和 SMBv3 在 SMB 客户端,请运行下面的命令: scexe 配置 lanmanworkstation 取决于 = bowser/mrxsmb10/nsi scexe 配置 mrxsmb20 开始 = 禁用
要启用 SMBv2 和 SMBv3 在 SMB 客户端,请运行下面的命令: scexe 配置 lanmanworkstation 取决于 = bowser/mrxsmb10/mrxsmb20/nsi scexe 配置 mrxsmb20 开始 = 自动
一、获取源代码包并进行解压
从samba的官方网站可以下载最新的samba源代码包。下面我们以samba-359targz的源代码包作为案例进行解析。本例中,我们将源代码包放在目录/home/samba下,然后执行下面的命令进行解压缩。
代码如下:
# tar –xzvf samba-359targz
二、配置configure
对源代码包进行解压缩后,进入目录
代码如下:
# cd /home/samba/samba-359/source3
然后执行下面的命令进行配置。
代码如下:
# /configure
可能在刚开始时,该目录下没有configure文件,此时可先执行下面的命令
代码如下:
# /autogen-sh
此时要求系统安装了autoconf、automake等工具。
在运行上面的配置命令之前,我们可以通过命令
代码如下:
# /configure –-help
来查看配置命令的一些选项。
三、生成与安装make make install
在环境配置命令/configure成功执行后,可以运行命令
代码如下:
# make
来生成二进制可执行文件,这可能需要两到三分钟。成功生成可执行文件后,可以通过下面命令
代码如下:
#make install
来进行安装。系统默认的安装路径是/usr/local/samba
四、配置动态链接库路径
安装完成后,我们需要配置动态链接库路径,因为运行samba的进行smbd和nmbd需要到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ldsoconf中。执行下面的命令
代码如下:
# vi /etc/ldsoconf
打开ldsoconf文件,并在该文件中加入下面这一行内容。
代码如下:
/usr/local/samba/lib
然后执行命令
代码如下:
# ldconfig
来更新动态链接库缓冲。
五、samba配置文件smbconf
samba在运行过程中需要用到配置文件smbconf。smbconf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。
配置文件smbconf的默认路径是/usr/local/samba/lib/smbconf,我们可以在运行smbd进程时,通过-s选项来执行特定的smbconf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取/usr/local/samba/lib/smbconf文件。下面我们以一个简单的配置文件进行说明,其路径为/etc/samba/smbconf。
代码如下:
[global]
workgroup = MYGROUP
server string = Samba Server %v
security = user
log file = /var/log/samba/%mlog
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
[root]
path = /
valid users = root
writeable = yes
[public]
path = /data
guest ok = yes
read only = yes
上面配置文件定义了root和public两个文件共享服务。关于上面这个配置文件的具体细节,我们这里不做详细的论述。这里主要说明的一点:在samba 3023版本以前验证用户密码的默认backend是smbpasswd,而3023版本之后的默认backend是tdbsam。我们可以通过参数passdb backend来选择特定的backend。在使用smbpasswd时默认读取的密码文件时/usr/local/samba/private/smbpasswd,我们可以通过smb passwd file来指定特定的密码文件。
在配置完smbconf文件后,我们可以运行testparm(目录/usr/local/samba/lib下)命令来对smbconf文件进行语法检查,其会检测出哪些参数名无法识别等问题。
六、启动samba
samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议。
配置smbconf文件后,在开始运行samba的服务进程之前。我们需要先做一些准备工作。运行smbpasswd命令(在目录/usr/local/samba/bin下)
代码如下:
# /smbpasswd –a root
向smbconf文件中指定的/etc/samba/smbpasswd文件中添加root用户以及密码信息。关于smbpasswd文件的详细内容介绍见相关文档。
然后运行命令
代码如下:
# service iptables stop
关闭防火墙,因为防火墙可能会阻止用户访问该机器。下面是运行samba的服务进程smbd和nmbd
代码如下:
# /usr/local/samba/sbin/smbd –D –s /etc/samba/smbconf
# /usr/local/samba/sbin/nmbd –D –s /etc/samba/smbconf
上面的-D选项指定smbd和nmbd以守护进程的方式启动,并且通过-s选项指定了特定的配置文件/etc/samba/smbconf。以守护进程方式启动smbd和nmbd的优势是响应速度快,但是要关闭的话只能kill掉。当然我们可以通过脚本来执行这些操作,这里就不提供脚本了。
七、smbclient进行测试检查
在启动samba之后,我们可以在本机使用smbclient(目录/usr/local/samba/bin下)来进行测试。下面命令
代码如下:
# cd /usr/local/samba/bin
# /smbclient –L //127001
可以列出本samba服务器所提供的服务列表,本例运行结果如下:
代码如下:
[root@localhost bin]# /smbclient –L //127001
Enter root’s password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 359]
p Sharename Type Comment
--------- ------- -------
IPC$ IPC IPC Service (Samba Server 359)
public Disk
root Disk
pDomain=[MYGROUP] OS=[Unix] Server=[Samba 359]
p Server Comment
----------- -------
LOCALHOST Samba Server 359
Workgroup Master
------------ -------
MYGROUP LOCALHOST
当然也可以通过smbclient来访问samba服务器提供的服务,其命令格式如下:
代码如下:
# /smbclient “//serverAdderss/aservice” –U username
其中serverAddress是要访问的samba服务器的IP地址,aservice指定samba服务器上提供的某个服务名称,选项-U username指定要以哪个用户名来访问samba服务器。例如
代码如下:
[root@localhost bin]# /smbclient “//127001/root” –U root
Enter root’s password: ; #这里输入samba用户root的密码
Domain=[MYGROUP] OS=[Unix] Server=[Samba 359]
smb: ; #访问成功,输入相关命令进行操作
上面个smb: 表明了访问成功,此时我们可以输入一些命令来在samba服务器上进行操作,比如ls、mkdir等。q或quit命令执行退出,并断开连接。
八、在Windows客户端访问samba服务器
在Windows客户端,可以在网上邻居中通过新建网上邻居来访问,或者在开始——运行中输入192168134root来访问samba服务器192168134上面提供的root服务。
九、重要选项说明
全局选项:
全局选项用于[global]的
选项定义中,其用于说明samba服务器的一些基本属性。其有些选项可以被其他
中的选项定义覆盖。
workgroup = MYGROUP
定义samba服务器所在的工作组或者域(如果设置security = domain的话)。
server string = Samba server
设定samba服务器的描述,通过网络邻居访问时可在备注中查看到该描述信息。
hosts allow = host (subnet)
设定允许访问该samba服务器的主机IP或网络,该选项的值为列表类型,不同的项目之间使用空格或逗号隔开,例如hosts allow = 19216830, 19216811,该选项设置允许主机19216811以及子网19216830/24内的所有主机访问该samba服务器。
hosts deny = host (subnet)
设定不允许访问该samba服务器的主机IP或网络,其格式与hosts allow一样。
guest account = guest
设定了游客的账号,在游客访问guest ok = yes的共享服务时,samba服务器将设置客户端以该游客账号来访问共享。
log file = MYLOGFILE
设定记录文件的位置。
max log size = size
设定记录文件的大小,单位为KB,如果设置为0则表示无大小限制。
security =
设定samba服务器的安全级,其有四种安全级别:share、user、server和domain,默认为user。关于这四种安全级别的详细信息,请查看相关文档。
password server = ServerIP
设定了用户账号认证服务器IP,其在设定security = server时有效。
encrypt passwords = yes | no
设定是否对密码进行加密。如果不对密码进行加密的话,在认证会话期间,客户端与服务器传递的是明文密码。但有些Windows系统默认情况下,不支持明文密码传输。
passdb backend = smbpasswd | tdbsam | ldapsam
设定samba服务器访问和存储samba用户账号的后端,在samba-30。23之前的默认值为smbpasswd,而之后的默认值为tdbsam。
smb passwd file =
设定samba的用户账号文件。对于源代码安装的samba,在samba-3023之前,其默认值为/user/local/samba/private/smbpasswd;而samba-3023之后,其默认值为/usr/local/samba/private/passwdtdb。
include = smbconfFile
通过include选项可以包含其他配置文件,通过该选项和一些samba定义的变量可以设定与不同机器相关的配置。
local master = yes | no
设定该samba服务器是否试图成为本地主浏览器,默认值为yes。若设置为no,则该samba服务器永远不可能成为本地主浏览器,而设置为yes不代表其一定能成为本地主浏览器,只是让其能参与本地主浏览器的选举。
os level = N
N是一个整数,设定了该samba服务器参加本地主浏览器选举时的权重,其值越大,权重越大。os level = 0时,该服务器将失去选举的机会。
domain master = yes | no
设定samba服务器成为域浏览器。域浏览器从各个本地主浏览器处获取浏览列表,并将整个域的浏览列表传递给各个本地主浏览器。
preferred master = yes | no
设定该samba服务器是否为工作组里的首要主浏览器,如果设置为yes,则在nmbd启动时,将强制一个浏览选择。
局部选项:
局部选项为除了global外的各个
中的参数。其定义了共享服务的属性。
comment =
设定共享服务的描述信息。
path =
设定共享服务的路径,其中可以结合samba预定义的变量来设置。
hosts allow = host(subnet)
hosts deny = host(subnet)
与全局的hosts allow和hosts deny含义相同,其会覆盖全局的设置。
read only = yes | no
设定该共享服务是否为只读,该选项有一个同义选项writeable。
user = user(@group)
设定所有可能使用该共享服务的用户,可以使用@group来设置群组group中的所有用户账号。该选项的值为列表,不同的项目之间使用空格或逗号隔开。在设置security = share时,客户端要访问某共享服务时提供的密码会与该选项指定的所有用户进行一一配对认证,若某用户认证通过,则以该用户权限进行共享服务访问,否则拒绝客户端的访问(设置security = share不是允许游客访问,只有guest ok = yes才是允许游客访问,切记!!!)。
valid users = user(@group)
设定能够使用该共享服务的用户和组,其值的格式与user选项一样。
invalid users = user(@group)
设定不能够使用该共享服务的用户和组,其值的格式与user选项一样。
read list = user(@group)
设定对该共享服务只有读取权限的用户和组,其值的格式与user选项一样。
write list = user(@group)
设定对该共享服务拥有读写权限的用户和组,其值的格式与user选项一样。
admin list = user(@group)
设定对该共享服务拥有管理权限的用户和组,其值的格式与user选项一样。
public = yes | no
设定该共享服务是否能够被游客访问,其同义选项有guest ok。
create mode = mode
mode为八进制值,如0755,其默认值为0744。该选项指定的值用于过滤新建文件的访问权限,新建文件的默认权限将与create mode指定的值进行按位与操作,将结果再与force create mode指定的值进行按位或操作,得到的结果即为新建文件的访问权限。
force create mode = mode
mode为八进制值,默认为0000。其作用参考选项create mode。
directory mode = mode
mode为八进制值,默认为0755。该选项指定的值用于过滤新建目录的访问权限,新建目录的默认权限将与directory mode指定的值进行按位与操作,将结果再与force directory mode指定的值进行按位或操作,得到的结果即为新建目录的访问权限。
force directory mode = mode
mode为八进制值,默认为0000。该选项的作用参考选项directory mode。
force user = user
强制设定新建文件的属性onwer。若存在一个目录,其允许guest可以写,则guest就可以删除。但设定force user为其他用户,并设置create mode = 0755,则gues用户不能够删除其新建文件。
上面只是简单的介绍了一些重要的选项,并且没有讨论有关[printers]的选项说明,更多选项请man smbconf进行查阅。
0条评论