72. I Samba概述 1. Samba简介 SMB( Server message block)是1987年 Microsoft和 Intel共同制定的网络通讯协议, 它与 Unix/linux下的NFS( Network File System)在功用上是相似的,都是让用户端机器能 够通过网络来分享文件系统,但是SMB比NFS功能强大而且复杂。 2.安装 Samba 执行rpm- qalgrep samba命令 若执行rpm- qalgrep samba命令后没有输出任何信息,表明没有安装 Samba服务器。 3.启动 Samba 若希望 Samba服务器在计算机下次启动时自动启动,可以执行 ntsysv命令,然后选中 Smb即可。 722组建 Linux局域网与配置 Samba服务器 组建 Linux局域网与组建 Windows局域网,在物理结构上基本是一样的,不同的是网 络服务由哪种操作系统提供。在Linu局域网中,要实现资源的共享,需要配置 Samba服 务器 实例7-1组建 Windows和 Linux共存的局坷网实现资源共享 局域网中的两台电脑 台RHEL( Samba服务器)机器,IP地址是1921680.10 台 Windows XP( Samba客户端)机器,IP地址是192.1680.22; 1.配置 Samba服务器 第1步:在图形界面( GNOME)依次选择【系统】/【管理】/【服务器设置】/【 Samba】 或者在终端窗口执行 system- config- .samba命令,启动 Samba服务器配置工具,如图7-16 所示。 Samba服务器配置工具是用来管理 Samba共享、用户、以及基本服务器设置的图形 化界面。它修改/etc/ samba/smb.conf配置文件,文件中没有使用该配置工具改变的参数都会 被保留 第2步:在【 samba服务器配置】窗口中,依次选择【首选项】/【服务器设置】,出 现如图7-17所示的界面。在【基本】选项卡中,指定计算机应在的工作组以及对计算机的 简短描述,描述中的%的含义见表7-2( Samba使用的变量)。他们与 smb. conf中的 workgroup和 server string选项相对应 表72 Samba使用的变量 客户端变量 用户变量 共享变量 %客户端体系%g用户%主要组%P当前共享的根目录 户端IP地址 H用户% u home目录%当前的共享名服务器变量
7.2.1 Samba 概述 1.Samba 简介 SMB(Server Message Block)是 1987 年 Microsoft 和 Intel 共同制定的网络通讯协议, 它与 Unix/Linux 下的 NFS(Network File System)在功用上是相似的,都是让用户端机器能 够通过网络来分享文件系统,但是 SMB 比 NFS 功能强大而且复杂。 2.安装 Samba 执行 rpm –qa|grep samba 命令 若执行 rpm –qa|grep samba 命令后没有输出任何信息,表明没有安装 Samba 服务器。 3.启动 Samba 若希望 Samba 服务器在计算机下次启动时自动启动,可以执行 ntsysv 命令,然后选中 smb 即可。 7.2.2 组建 Linux 局域网与配置 Samba 服务器 组建 Linux 局域网与组建 Windows 局域网,在物理结构上基本是一样的,不同的是网 络服务由哪种操作系统提供。在 Linux 局域网中,要实现资源的共享,需要配置 Samba 服 务器。 实例 7-1 组建 Windows 和 Linux 共存的局域网实现资源共享 局域网中的两台电脑: 一台 RHEL(Samba 服务器)机器,IP 地址是 192.168.0.10; 一台 Windows XP(Samba 客户端)机器,IP 地址是 192.168.0.22; 1.配置 Samba 服务器 第 1 步:在图形界面(GNOME)依次选择【系统】/【管理】/【服务器设置】/【Samba】, 或者在终端窗口执行 system-config-samba 命令,启动 Samba 服务器配置工具,如图 7-16 所示。Samba 服务器配置工具是用来管理 Samba 共享、用户、以及基本服务器设置的图形 化界面。它修改/etc/samba/smb.conf 配置文件,文件中没有使用该配置工具改变的参数都会 被保留。 第 2 步:在【samba 服务器配置】窗口中,依次选择【首选项】/【服务器设置】,出 现如图 7-17 所示的界面。在【基本】选项卡中,指定计算机应在的工作组以及对计算机的 简短描述,描述中的%v 的含义见表 7-2(Samba 使用的变量)。他们与 smb.conf 中的 workgroup 和 server string 选项相对应。 表 7-2 Samba 使用的变量 客户端变量 用户变量 共享变量 %a 客户端体系 %g 用户%u 主要组 %P 当前共享的根目录 %I 客户端 IP 地址 %H 用户%u home 目录 %S 当前的共享名服务器变量
%m客户端 NetBios名|%UUnⅸ当前用户名% % sAmba服务器的DNS名字 %M客户端DNS名 %L| Samba服务器的 Netbios名字 Samba版本号 %T当前日期和时间 N|NS共享的目录 第3步:如图7-18所示,在【安全性】选项卡中,包含以下选项: (1)验证模式 它和 smb. conf中的 security选项相对应。选择以下验证模式中的一种。 ①域: Samba服务器通过 Windows nr主要或备份域控制器来校验用户。服务器把用 户名和口令传递给控制器,然后等待他们被返回。在【验证服务器】字段中指定主要或备份 域控制器的 NetbIos名称。【加密口令】选项如果被选,它必须被设置为“是” ②服务器: Samba服务器通过把用户名和口令的组合传递给另一个 Samba服务器来校 验用户,如果无法校验,服务器会试图使用用户验证模式来校验。在【验证服务器】字段中 指定另一个 Samba服务器的 NetbIos名称 ③用户(默认): Samba用户必须为每个 Samba服务器提供一个有效的用户名和口令。 如果想让【 Windows用户名】选项生效,选择这个选项 ④共享: Samba用户不必为每个 Samba服务器都输入用户名和口令组合。他们在试图 连接 Samba服务器上的指定共享时,才会被提示输入用户名和口令 (2)加密口令 默认值为“是”,如果用户从 Windows进行连接,该选项必须被启用。口令在服务器 和客户间使用加密格式进行传输。它和 smb. conf中的 encrypt passwords选项相对应。 (3)来宾账号 当用户或来宾用户要登录 Samba服务器时,他们必须被映射到服务器上的有效用户 选择系统中现存用户名之一作为 Samba的来宾账号。当用户使用来宾账号登录 Samba服务 器时,他们拥有和这个用户相同的特权。该选项和 smb. conf中的 guest account选项相对应。 第4步:在【 samba服务器配置】窗口中,依次选择【首选项】/【 Samba用户】,出 现如图7-19所示的界面。然后单击【添加用户】按钮。出现如图7-20所示的界面 第5步:如图7-20所示,在【创建新 Samba用户】窗口中,选择列表中一个【Unx用 户名】。如果用户在 Windows机器上有一个不同的用户名,并将从 Windows机器上登录 Samba 服务器,请在【 Windows用户名】字段中指定 Windows用户名,并且输入口令。单击【确 定】按钮。出现如图7-21所示的界面。添加的用户信息其实被写入了文件/etc/ Samba/smbusers 中,如图722所示 第6步:如图7-21所示,要编辑某个现存用户,从列表中选择它,然后单击【编辑用 户】按钮。要删除某个现存的 Samba用户,选择这个用户,然后单击【删除用户】按钮。 删除 Samba用户不会删除相关的 Red hat linux用户账号。单击【确定】按钮后,用户就 会被立即修改。 第7步:添加共享文件资源,在【 samba服务器配置】窗口中,单击工具栏上的【添加】
%m 客户端 NetBios 名 %U Unix 当前用户名 %h Samba 服务器的 DNS 名字 %M 客户端 DNS 名 %L Samba 服务器的 Netbios 名字 %v Samba 版本号 %T 当前日期和时间 %N NIS 共享的目录 第 3 步:如图 7-18 所示,在【安全性】选项卡中,包含以下选项: (1)验证模式 它和 smb.conf 中的 security 选项相对应。选择以下验证模式中的一种。 ① 域:Samba 服务器通过 Windows NT 主要或备份域控制器来校验用户。服务器把用 户名和口令传递给控制器,然后等待他们被返回。在【验证服务器】字段中指定主要或备份 域控制器的 NetBIOS 名称。【加密口令】选项如果被选,它必须被设置为“是”。 ② 服务器:Samba 服务器通过把用户名和口令的组合传递给另一个 Samba 服务器来校 验用户,如果无法校验,服务器会试图使用用户验证模式来校验。在【验证服务器】字段中 指定另一个 Samba 服务器的 NetBIOS 名称。 ③ 用户(默认):Samba 用户必须为每个 Samba 服务器提供一个有效的用户名和口令。 如果想让【Windows 用户名】选项生效,选择这个选项。 ④ 共享:Samba 用户不必为每个 Samba 服务器都输入用户名和口令组合。他们在试图 连接 Samba 服务器上的指定共享时,才会被提示输入用户名和口令。 (2)加密口令 默认值为“是”,如果用户从 Windows 进行连接,该选项必须被启用。口令在服务器 和客户间使用加密格式进行传输。它和 smb.conf 中的 encrypt passwords 选项相对应。 (3)来宾账号 当用户或来宾用户要登录 Samba 服务器时,他们必须被映射到服务器上的有效用户。 选择系统中现存用户名之一作为 Samba 的来宾账号。当用户使用来宾账号登录 Samba 服务 器时,他们拥有和这个用户相同的特权。该选项和 smb.conf 中的 guest account 选项相对应。 第 4 步:在【samba 服务器配置】窗口中,依次选择【首选项】/【Samba 用户】,出 现如图 7-19 所示的界面。然后单击【添加用户】按钮。出现如图 7-20 所示的界面。 第 5 步:如图 7-20 所示,在【创建新 Samba 用户】窗口中,选择列表中一个【Unix 用 户名】。如果用户在Windows机器上有一个不同的用户名,并将从Windows机器上登录Samba 服务器,请在【Windows 用户名】字段中指定 Windows 用户名,并且输入口令。单击【确 定】按钮。出现如图 7-21 所示的界面。添加的用户信息其实被写入了文件/etc/samba/smbusers 中,如图 7-22 所示。 第 6 步:如图 7-21 所示,要编辑某个现存用户,从列表中选择它,然后单击【编辑用 户】按钮。要删除某个现存的 Samba 用户,选择这个用户,然后单击【删除用户】按钮。 删除 Samba 用户不会删除相关的 Red Hat Linux 用户账号。单击【确定】按钮后,用户就 会被立即修改。 第 7 步:添加共享文件资源,在【samba 服务器配置】窗口中,单击工具栏上的【添加】
按钮,出现如图7-23所示的界面。在【基本】选项卡中包含以下选项 目录:通过 Samba共享的目录。这个目录必须存在 描述:对共享的简短描述。 基本权限:用户应该只能够读取/读写共享目录中的文件 第8步:如图7-24所示,在【访问】选项卡中,选择只允许指定的用户来访问共享 还是允许所有的 Samba用户来访问共享。如果选择了要允许指定用户访问,则从可用的 Samba用户列表中选择这些用户。 第9步:单击【确定】按钮后,共享就会立即被添加,如图725所示 至此, Samba服务器的基本配置己经完成,如果是手工修改 Samba的配置文件 smb. conf, 则可以执行 testparm命令检测配置文件 smb. conf语法的正确性,如图726所示。 第10步:在终端窗口执行 service smb restart命令,重启 Samba服务器。 第11步:在终端窗口执行 sy stem- config- -selinux命令,如图7-27所示,在图的左边选 择【 Boolean】,然后在图的右边展开【 samba】,选择图中的两项 注意 如果需要共享/home以外的目录,则还需将【 Allow Samba to share any file/directory read ony】或【 Allow Samba to share any file/directory read/wrte】选中。关于 Selinux的介绍见下 一节。 system-config- selinux属于 policycoreutils-gui的RPM包,如果不能执行该命令,则应该安 装 policycoreutils-gui的RPM包 SELinux Administration other Fle Labeling pping Printing Samba Policy Module D Allow samba to act as the domain controller, add users, groups and change passwords U Allow Samba to share any file/directory read only D Allow Samba to share any file/directory read/write a Allow Samba to write files in directories labeled public content rw t to login with CIFS home directories SASL authentication server pam Assassin 图7-27 SELinux中配置共享方式 第12步:在终端窗口执行 cheon命令,如图7-28所示。 rootelocalhost:- [rootolocalhost"# cheon -R-t public content rw_ t/home/ztg [rootolocalhost"# cheon -R-t samba share t/var/log/samba rootolocalhost-* 图728执行 cheon命令
按钮,出现如图 7-23 所示的界面。在【基本】选项卡中包含以下选项: 目录:通过 Samba 共享的目录。这个目录必须存在。 描述:对共享的简短描述。 基本权限:用户应该只能够读取/读写共享目录中的文件。 第 8 步:如图 7-24 所示,在【访问】选项卡中,选择只允许指定的用户来访问共享, 还是允许所有的 Samba 用户来访问共享。如果选择了要允许指定用户访问,则从可用的 Samba 用户列表中选择这些用户。 第 9 步:单击【确定】按钮后,共享就会立即被添加,如图 7-25 所示。 至此,Samba 服务器的基本配置已经完成,如果是手工修改 Samba 的配置文件 smb.conf, 则可以执行 testparm 命令检测配置文件 smb.conf 语法的正确性,如图 7-26 所示。 第 10 步:在终端窗口执行 service smb restart 命令,重启 Samba 服务器。 第 11 步:在终端窗口执行 system-config-selinux 命令,如图 7-27 所示,在图的左边选 择【Boolean】,然后在图的右边展开【samba】,选择图中的两项。 注意: 如果需要共享/home 以外的目录,则还需将【Allow Samba to share any file/directory read only】或【Allow Samba to share any file/directory read/write】选中。关于 Selinux 的介绍见下 一节。 system-config-selinux 属于 policycoreutils-gui 的 RPM 包,如果不能执行该命令,则应该安 装 policycoreutils-gui 的 RPM 包。 图7-27 SELinux中配置共享方式 第 12 步:在终端窗口执行 chcon 命令,如图 7-28 所示。 图7-28 执行chcon命令
2.认识 Samba服务器的配置文件 smb. conf Samba服务器的配置文件是 smb. conf,位于/ letc/samba目录下,对 Samba服务器的配置 其实就是对 smb. conf文件的修改,希望读者能够习惯这种配置方法,不要局限于GUI(图 形用户界面)的配置操作,因为要想真正很好的使用 Linux,用户必须掌握此方法 smb. conf文件的语法格式包含了许多区段( section),每个区段都有一个名字,用方括 号括起来,其中比较重要的区段是 global]、[ homes和 printers][ global区段定义了全局参 数,[ homes区段定义了用户的主目录文件, Printers]区段定义了打印机共享。每个区段里都 定义了许多参数,格式为“参数名=参数值”,等号两边的空格被忽略,参数值两边的空格 也被忽略,但是参数值里面的空格有意义。如果一行太长,用【】进行换行 配置文件 smb. conf的详细说明如下 E Global Settings Netwrok Related Options workgroup= MYGROUP ∥这是设置服务器所要加入的工作组的名称,会在 Windows的“网上邻居”中能看到 MYGROUP 工作组,可以在此设置所需要的工作组的名称 server string= Samba Server Version %v ∥这是设置服务器主机的说明信息,当在 Windows的“网上邻居”中打开 Samba上设置的工作组 时,在 Windows的资源管理器窗口,会列出“名称”和“备注”栏,其中“名称”栏会显示出 Samba 服务器的 NetBios名称,而“备注”栏则显示出此处设置的“ Samba Server”。当然,可以修改默认的“ Sambe Server”,使用自己的描述信息 netbios name =MYSERVER ∥设置出现在“网上邻居”中的主机名。默认情况下,使用真正的主机名 interfaces= lo eth0192.168.122/24192.16813.2/4 hosts allow=127.192.168.12.192.168.13 ∥这里是设置允许什么样的IP地址的主机访问 Samba服务器。默认的情况下, hosts allow选项被注 释,表示允许所有IP地址的主机访问 Logging Options f Log File let you specify where to put logs and how to split them up Max Log size let you specify the max size log files should reach logs split per machine k选项要求m)图为每一个连接的机器使用一个单独的日志文件,指定文件的位置,名 称。 Samba会自动将%m转换成连接主机的 Netbios名 max 50kB per log file, then rotate max log size =50 ∥指定日志文件的最大容量(以KB为单位),设置为0,表示没有限制 Scurity can be set to user, share( deprecated) or server( deprecated) Backend to store user information in. New installations should use either tdbsam or ldapsam. smbpasswd is available for backwards compatibility. tdbsam requires no further configuration security = user ∥设置 Samba服务器的安全等级。默认情况下,使用user等级 ∥ Samba服务器一共有四种安全等级 ∥ share:使用此等级,用户不需要帐号及密码可以登录 Samba服务器 ∥user:使用此等级,由提供服务的 Samba服务器检查用户帐号及密码 ∥ server:.使用此等级,检查帐号及密码的工作可指定另一台 Samba服务器负责
2.认识 Samba 服务器的配置文件 smb.conf Samba 服务器的配置文件是 smb.conf,位于/etc/samba 目录下,对 Samba 服务器的配置 其实就是对 smb.conf 文件的修改,希望读者能够习惯这种配置方法,不要局限于 GUI(图 形用户界面)的配置操作,因为要想真正很好的使用 Linux,用户必须掌握此方法。 smb.conf 文件的语法格式包含了许多区段(section),每个区段都有一个名字,用方括 号括起来,其中比较重要的区段是[global]、[homes]和[printers]。[global]区段定义了全局参 数,[homes]区段定义了用户的主目录文件,[printers]区段定义了打印机共享。每个区段里都 定义了许多参数,格式为“参数名=参数值”,等号两边的空格被忽略,参数值两边的空格 也被忽略,但是参数值里面的空格有意义。如果一行太长,用【\】进行换行。 配置文件 smb.conf 的详细说明如下: #======================= Global Settings ===================================== [global] # ----------------------- Netwrok Related Options ------------------------- workgroup = MYGROUP //这是设置服务器所要加入的工作组的名称,会在 Windows 的“网上邻居”中能看到 MYGROUP 工作组,可以在此设置所需要的工作组的名称 server string = Samba Server Version %v //这是设置服务器主机的说明信息,当在 Windows 的“网上邻居”中打开 Samba 上设置的工作组 时,在 Windows 的资源管理器窗口,会列出“名称”和“备注”栏,其中“名称”栏会显示出 Samba 服务器的 NetBios 名称,而“备注”栏则显示出此处设置的“Samba Server”。当然,可以修改默认的“Sambe Server”,使用自己的描述信息 ; netbios name = MYSERVER //设置出现在“网上邻居”中的主机名。默认情况下,使用真正的主机名 ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 ; hosts allow = 127. 192.168.12. 192.168.13. //这里是设置允许什么样的 IP 地址的主机访问 Samba 服务器。默认的情况下,hosts allow 选项被注 释,表示允许所有 IP 地址的主机访问 # --------------------------- Logging Options ----------------------------- # # Log File let you specify where to put logs and how to split them up. # # Max Log Size let you specify the max size log files should reach # logs split per machine ; log file = /var/log/samba/%m.log //这一选项要求 Samba 服务器为每一个连接的机器使用一个单独的日志文件,指定文件的位置,名 称。Samba 会自动将%m 转换成连接主机的 NetBios 名 # max 50KB per log file, then rotate ; max log size = 50 //指定日志文件的最大容量(以 KB 为单位),设置为 0,表示没有限制 # ----------------------- Standalone Server Options ------------------------ # # Scurity can be set to user, share(deprecated) or server(deprecated) # # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. security = user //设置 Samba 服务器的安全等级。默认情况下,使用 user 等级 // Samba 服务器一共有四种安全等级 // share: 使用此等级,用户不需要帐号及密码可以登录 Samba 服务器 // user: 使用此等级,由提供服务的 Samba 服务器检查用户帐号及密码 // server: 使用此等级,检查帐号及密码的工作可指定另一台 Samba 服务器负责
∥ domain:使用此等级,需要指定一台 Windows nt2000XP服务器(通常为域控制器),以验证用 户输入的帐号及密码 passdb backend =tdbsam Domain Members Options Security must be set to domain or ads Use the realm option only with security ads Specifies the Active Directory realm the host is part of Backend to store user information in. New installations should f use either tdbsam or ldapsam smbpasswd is available for backwards compatibility. tdbsam requires no further configuration #f Use password server option only with security server or if you can,'t use the dns to locate domain Controllers password server My PDC Name [My bdC Name] [My Next BDC Name #f or to auto-locate the domain controller/s password server = assab backend =tdbsam password server = ∥如果安全等级为“ server”或“ domain”,则使用此选项指定要验证密码的主机名 guest account = pcguest ∥设置当访问那些被设置了“ guest ok=yes”参数的资源时所要使用的帐号名。默认的帐号为” obody",如果不想用默认的值,则应该去掉注释用的分号,用你想要的帐号(如 pegues、 zhangsan 等),然后,你必需将这一新帐号加入到/ etc/passwd文件中去 Security must be set to user for domain controllers Backend to store user information in. New installations should use either tdbsam or ldapsam. smbpasswd is available for backwards compatibility. tdbsam requires no further configuration. Domain Master specifies Samba to be the Domain Master Browser. This #f allows Samba to collate browse lists between subnets Don 't use this if you already have a windows nt domain controller doing this job Domain Logons let Samba be a domain logon server for windows workstatio Logon Scrpit let yuou specify a script to be run at login time on the client #f You need to provide it in a share called NETLOGON red (UNC path) #f Various on a domain controller or stand-alone machine to add or delete corresponding unix accounts security =user passdb backend=tdbsam domain master=yes the login script name depends on the machine name logon script =%m bat the login script name depends on the unix user used
// domain: 使用此等级,需要指定一台 Windows NT/2000/XP 服务器(通常为域控制器),以验证用 户输入的帐号及密码 passdb backend = tdbsam # ----------------------- Domain Members Options ------------------------ # # Security must be set to domain or ads # # Use the realm option only with security = ads # Specifies the Active Directory realm the host is part of # # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. # # Use password server option only with security = server or if you can't # use the DNS to locate Domain Controllers # The argument list may include: # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] # or to auto-locate the domain controller/s # password server = * ; security = domain ; passdb backend = tdbsam ; realm = MY_REALM ; password server = //如果安全等级为“server”或“domain”,则使用此选项指定要验证密码的主机名 ; guest account = pcguest //设置当访问那些被设置了“guest ok=yes”参数的资源时所要使用的帐号名。默认的帐号为” nobody”,如果不想用默认的值,则应该去掉注释用的分号,用你想要的帐号(如 pcguest、 zhangsan 等 ),然后,你必需将这一新帐号加入到/etc/passwd 文件中去 # ----------------------- Domain Controller Options ------------------------ # # Security must be set to user for domain controllers # # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. # # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Don't use this # if you already have a Windows NT domain controller doing this job # # Domain Logons let Samba be a domain logon server for Windows workstations. # # Logon Scrpit let yuou specify a script to be run at login time on the client # You need to provide it in a share called NETLOGON # # Logon Path let you specify where user profiles are stored (UNC path) # # Various scripts can be used on a domain controller or stand-alone # machine to add or delete corresponding unix accounts # ; security = user ; passdb backend = tdbsam ; domain master = yes ; domain logons = yes # the login script name depends on the machine name ; logon script = %m.bat # the login script name depends on the unix user used ; logon script = %u.bat
f disables profiles support by specifing an empty path dd user script =/usr/sbin/useradd"%u"-n-g users add group script=/usr/sbin/groupadd"%g dd machine script=/usr/sbin/useradd -"Workstation(%u)"-M-d/nohome-s/bin/false"%u delete user script=/usr/sbin/userdel "%u delete user from group script =/usr/sbin/userdel"%u"%g delete group script=/usr/sbin/groupdel "%g master to no if you don't want Samba to become a master browser on your network. Otherwise the normal election rules apply # OS Level determines the precedence of this server in master browser #f elections. The default value should be reasonable Preferred Master causes Samba to force a local browser election on startup and gives it a slightly higher chance of winning the election local mast os level =33 #--------------------- Name resolution Windows Internet Name Serving Support Section: Note: Samba can be either a WINs Server or a WINS Client, but notboth #-WINS Support: Tells the NMBD component of Samba to enable it's WINS Server #-WINS Server: Tells the NMBD components of Samba to be a WINs Client #f-WINS Proxy: Tells Samba to answer name resolution queries on behalf of a non WINS capable client, for this to work there must be at least one WINS Server on the network. The default is no DNS Proxy -tells Samba whether or not to try to resolve NetBIOS names via dnS nslooki wins support=yes wins server=wxyZ dns proxy =yes ∥为客户做DNS查询 Printing Options ----- You can choose a non default printing system using the Printing option load printers=yes ∥是否加载打印机配置文件 ∥设置打印机配置文件路径 inters automatically on SystemV printcap 设置打印系统类型 The following options can be uncommented if the filesystem supports Extended Attributes and they are enabled (usually by the mount optio #f user xattr ). Thess options will let the admin store the DOs attributes #f in an ea and make samba not mess with the permission bits Note: these options can also be set just per share, setting them in global #f makes them the default for all shares
; logon path = \\%L\Profiles\%u # disables profiles support by specifing an empty path ; logon path = ; add user script = /usr/sbin/useradd "%u" -n -g users ; add group script = /usr/sbin/groupadd "%g" ; add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u" ; delete user script = /usr/sbin/userdel "%u" ; delete user from group script = /usr/sbin/userdel "%u" "%g" ; delete group script = /usr/sbin/groupdel "%g" # ----------------------- Browser Control Options ---------------------------- # # set local master to no if you don't want Samba to become a master # browser on your network. Otherwise the normal election rules apply # # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable # # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; local master = no ; os level = 33 ; preferred master = yes #----------------------------- Name Resolution ------------------------------- # Windows Internet Name Serving Support Section: # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both # # - WINS Support: Tells the NMBD component of Samba to enable it's WINS Server # # - WINS Server: Tells the NMBD components of Samba to be a WINS Client # # - WINS Proxy: Tells Samba to answer name resolution queries on # behalf of a non WINS capable client, for this to work there must be # at least one WINS Server on the network. The default is NO. # # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names # via DNS nslookups. ; wins support = yes ; wins server = w.x.y.z ; wins proxy = yes ; dns proxy = yes //为客户做 DNS 查询 # --------------------------- Printing Options ----------------------------- # You can choose a non default printing system using the Printing option load printers = yes //是否加载打印机配置文件 cups options = raw ; printcap name = /etc/printcap //设置打印机配置文件路径 #obtain list of printers automatically on SystemV ; printcap name = lpstat ; printing = cups //设置打印系统类型 # --------------------------- Filesystem Options --------------------------- # # The following options can be uncommented if the filesystem supports # Extended Attributes and they are enabled (usually by the mount option # user_xattr). Thess options will let the admin store the DOS attributes # in an EA and make samba not mess with the permission bits. # # Note: these options can also be set just per share, setting them in global # makes them the default for all shares
map archive =no nap hidden=no map read only =no map system = no store dos attributes =yes Share definitions= thomes] ommen= Home directories/针对共享资源所作的说明、注释部分 browseable =no ∥设置用户是否可以看到此共享资源。默认值为yes,若将此参数设置为no,用户虽然看不到此资 源,但是拥有权限的用户仍可直接输入该资源的网址来访问该资源 设置共享的资源是否可以写入。若共享资源是打印机,则不需设置此参数 valid users =%s ∥设置可访问的用户。系统会自动将%S转换成登录帐号 valid users=MYDOMAINVS Printers comment = All Printers 针对共享资源所作的说明、注释部分 path=/ar/spool/samba ∥若共享资源是目录,则指定目录的位置:若为打印机,则指定打印机队列的位置 mment Network Logon Service path=/var/ib/samba/netlogon guest ok= yes writable no share modes =no Un-comment the following to provide a specific roving profile share the default is to use the user's home directory path=/var/lib/samba/profiles browseable =no uest ok=yes ∥指定是否允许 guest帐户访问 a publicly accessible directory, but read only, except for people in comment= Public Stuff path=/home/samba 若共享资源是目录,则指定目录的位置:若为打印机,则指定打印机队列的位置 public= yes ∥等同于 guest ok选项,表示是否允许用户不使用帐号和密码便能访问此资源。如果起用此功能, 当用户没有帐号和密码时,则会利用“ guest account=”所设置的帐号名登录。该选项默认值为no,即不 允许没有帐号即密码的用户使用此资源 available=yes ∥设置是否启用此共享资源。默认值为yes。若将此参数设置为no,则不管其他参数设置为什么,所 有人均不得使用此资源 create mode 0664 /设置文件的访问权限,默认值为0744
; map archive = no ; map hidden = no ; map read only = no ; map system = no ; store dos attributes = yes #============================ Share Definitions ============================== [homes] comment = Home Directories //针对共享资源所作的说明、注释部分 browseable = no //设置用户是否可以看到此共享资源。默认值为 yes,若将此参数设置为 no,用户虽然看不到此资 源,但是拥有权限的用户仍可直接输入该资源的网址来访问该资源 writable = yes //设置共享的资源是否可以写入。若共享资源是打印机,则不需设置此参数 ; valid users = %S //设置可访问的用户。系统会自动将%S 转换成登录帐号 ; valid users = MYDOMAIN\%S [printers] comment = All Printers //针对共享资源所作的说明、注释部分 path = /var/spool/samba //若共享资源是目录,则指定目录的位置;若为打印机,则指定打印机队列的位置 browseable = no guest ok = no writable = no printable = yes # Un-comment the following and create the netlogon directory for Domain Logons ; [netlogon] ; comment = Network Logon Service ; path = /var/lib/samba/netlogon ; guest ok = yes ; writable = no ; share modes = no # Un-comment the following to provide a specific roving profile share # the default is to use the user's home directory ; [Profiles] ; path = /var/lib/samba/profiles ; browseable = no ; guest ok = yes //指定是否允许 guest 帐户访问 # A publicly accessible directory, but read only, except for people in # the "staff" group ; [public] ; comment = Public Stuff ; path = /home/samba //若共享资源是目录,则指定目录的位置;若为打印机,则指定打印机队列的位置 ; public = yes //等同于 guest ok 选项,表示是否允许用户不使用帐号和密码便能访问此资源。如果起用此功能, 当用户没有帐号和密码时,则会利用“guest account=”所设置的帐号名登录。该选项默认值为 no,即不 允许没有帐号即密码的用户使用此资源 ; available = yes //设置是否启用此共享资源。默认值为 yes。若将此参数设置为 no,则不管其他参数设置为什么,所 有人均不得使用此资源 ; create mode = 0664 //设置文件的访问权限,默认值为 0744
directory mode=0775 设置目录的访问权限,默认值为0755 writable =yes printable =no write list=+zhang rite list参数是用来设置具有写权限的用户列表。这里只允许 zhang组的成员有写的权限 3.在 Windows Xp中的设置资源共享与访问 Samba共享资源 第1步:在 Windows Xp中的设置资源共享,首先在桌面创建文件夹 winXPshare,右键 单击,在右键菜单中选择【共享与安全】选项,然后进行【网络共享与安全】的设置,如图 7-29所 4.在 Linux中访问 Samba共享资源 地址栏里输入smb: 使用 smbclient命令访问共享资源 格式有两种: 格式1: smbclient/ NetbIos名或IP地址/共享名-U用户名 格式2: smbclient- L NetBIOS名或IP地址 723 SELinux简介 在终端窗口执行 system- config- securitylevel命令,或者在 GNOME桌面依次选择【系统】 /【管理】/【安全级别和防火墙】,打开【安全级别设置】对话框,如图7-42所示。默认设 置为“强制”,表示强制执行 SELinuX的安全策略:“允许”表示当有违反策略的行为时 只给出警告,不会中止该行为:“禁用”表示关闭 SELinux的安全策略。 请为您的系统选择安全级别 防火墙选项住) SELin:(s SELinux设置:理制 √应用()X取消魂定◎ 图742设置 SELinuX 与 SELinux有关的主要操作有:lz、psz、idz等,这几个命令的Z参数专用于 SELinux
; directory mode = 0775 //设置目录的访问权限,默认值为 0755 ; writable = yes ; printable = no ; write list = +zhang //write list 参数是用来设置具有写权限的用户列表。这里只允许 zhang 组的成员有写的权限 3.在 Windows XP 中的设置资源共享与访问 Samba 共享资源 第 1 步:在 Windows XP 中的设置资源共享,首先在桌面创建文件夹 winXPshare,右键 单击,在右键菜单中选择【共享与安全】选项,然后进行【网络共享与安全】的设置,如图 7-29 所示。 4.在 Linux 中访问 Samba 共享资源 地址栏里输入 smb: 使用 smbclient 命令访问共享资源 格式有两种: 格式 1:smbclient //NetBIOS 名或 IP 地址/共享名 -U 用户名 格式 2:smbclient -L NetBIOS 名或 IP 地址 7.2.3 SELinux 简介 在终端窗口执行 system-config-securitylevel 命令,或者在 GNOME 桌面依次选择【系统】 /【管理】/【安全级别和防火墙】,打开【安全级别设置】对话框,如图 7-42 所示。默认设 置为“强制”,表示强制执行 SELinux 的安全策略;“允许”表示当有违反策略的行为时, 只给出警告,不会中止该行为;“禁用”表示关闭 SELinux 的安全策略。 图7-42 设置SELinux 注意: 与 SELinux 有关的主要操作有:ls -Z、ps -Z、id -Z 等,这几个命令的-Z 参数专用于 SELinux
可以查看文件、进程和用户的 SELinⅨ属性。命令 chon用来改变文件的 SELinux属性
可以查看文件、进程和用户的 SELinux 属性。命令 chcon 用来改变文件的 SELinux 属性