610 likes | 891 Views
Linux 网络服务器配置管理项目实训教程. 杨云 马立新 杨建新 编著 中国水利水电出版社. 项目 4 配置与管理 Samba 服务器. 主讲教师 XXXX. 课题引入: Samba 服务器配置. Samba 是一套让 Linux 系统能够应用 Microsoft 网络通信协议的软件,利用 Samba 服务可以实现 Linux 与 Windows 系统的文件与打印共享。本章将主要介绍 Linux 系统下 Samba 服务器的配置方法,以实现 Linux 和 Windows 系统的资源共享。.
E N D
Linux网络服务器配置管理项目实训教程 杨云 马立新 杨建新 编著 中国水利水电出版社
项目4 配置与管理Samba服务器 主讲教师 XXXX
课题引入:Samba服务器配置 • Samba是一套让Linux系统能够应用Microsoft网络通信协议的软件,利用Samba服务可以实现Linux与Windows系统的文件与打印共享。本章将主要介绍Linux系统下Samba服务器的配置方法,以实现Linux和Windows系统的资源共享。
项目4 配置与管理Samba服务器 • Samba简介 • Samba服务的安装、启动与停止 • Samba服务的配置文件 • 配置文件及打印服务共享举例 • Linux和Windows互相通信 • Samba组件中的应用程序
学习目标 • 了解Samba服务的基本知识及相关配置文件 • 掌握利用Samba服务设置文件及打印共享的方法 • 熟悉Linux和Windows资源通信的实现方法 • 了解Samba组件中的相关应用程序 本章难点 • 利用Samba服务设置文件及打印共享 • Linux和Windows系统的资源共享
4.1 相关知识 • 4.1.1 SMB协议 • 4.1.2 Samba软件 • 4.1.3 Samba的功能
4.1.1 SMB协议 • SMB(Server Message Block)协议是用来在微软的Windows操作系统之间共享文件和打印机的一种协议。Samba使用SMB协议在Linux和Windows之间共享文件和打印机。 • 利用Samba可以实现如下功能: • 把Linux系统下的文件共享给Windows系统 • 在Linux系统下访问Windows系统的共享文件 • 把Linux系统下安装的打印机共享给Windows系统使用 • 在Linux系统下访问Windows系统的共享打印机
4.1.2 Samba软件 • Samba是用来实现SMB协议的一种软件,由澳大利亚的Andew Tridgell开发,是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。 • Samba包含两个核心后台守护进程:nmbd和smbd。 nmbd监听137和138UDP端口,smbd监听139TCP端口。 • nmbd守护进程使其他计算机可以浏览Linux服务器。 • smbd守护进程在SMB服务请求到达时对它们进行处理,并且为被使用或共享的资源进行协调。 • smbd和nmbd使用的配置信息全部保存在/etc/samba/smb.conf文件中。
4.1.3 Samba的功能 • 目前Samba的最新版本是3.0。它的主要功能如下: • (1)提供Windows风格的文件和打印机共享。 • (2)解析NetBIOS名字。 • (3)提供SMB客户功能。 • (4)提供一个命令行工具,利用该工具可以有限制地支持Windows的某些管理功能。 • (5)支持SWAT(Samba Web Administration Tool)和SSL(Secure Socket Layer)。
4.3.1 Samba服务的安装、启动与停止 • 1、Samba服务安装所需要的软件包: • samba-3.0.10-1.4E.i386.rpm:Samba服务端软件,在第2张安装光盘上。 • samba-client-3.0.10-1.4E.i386.rpm:Samba客户端软件,在第2张安装光盘上。 • samba-common-3.0.10-1.4E.i386.rpm:包括Samba服务器和客户端均需要的文件,在第2张安装光盘上。 • samba-swat:Samba的Web配置工具,在第4张安装盘上。
4.3.1 Samba服务的安装、启动与停止 • 2、Samba服务的安装:
4.3.1 Samba服务的安装、启动与停止 • 3、Samba服务的启动:
4.3.2 Samba服务的配置文件 • 1 Samba服务的主配置文件 • 2 Samba服务的密码文件 • 3 Samba服务的用户映射文件 • 4 Samba服务的日志文件
4.3.2 Samba服务的配置文件 • Samba服务的配置文件主要包括: • 主配置文件/etc/samba/smb.conf • 密码文件/etc/samba/smbpasswd • 用户映射文件/etc/samba/smbusers • 存放在/var/log/samba/目录下的日志文件
1. Samba服务的主配置文件 • smb.conf文件默认存放在/etc/samba目录中。Samba服务在启动时会读取smb.conf文件中的内容,以决定如何启动、提供服务以及相应的权限设置、共享目录、打印机和机器所属的工作组等各项细致的选项。 • smb.conf文件分为:全局配置(Global Settings)和共享定义(Share Definitions)两个大的部分。 • 全局配置部分定义的参数用于定义整个Samba服务器的总体特性。 • 共享定义部分用于定义文件及打印共享。在共享定义部分又分为很多个小节,每一个节定义一个共享文件或共享打印服务。
1. Samba服务的主配置文件 • (1)全局配置: • workgroup = WORKGROUP:设置Samba服务器所属的工作组或域名。 • server string = Samba Server:指定Samba服务器的说明信息。 • hosts allow = 192.168.1. 192.168.2. 127.:设置可以访问Samba服务器的主机、子网或域。 • printcap name = /etc/printcap:设置加载的打印服务配置文件。 • load printers = yes:设置是否允许加载打印配置文件中的所有打印机。 • printing = cups:定义打印系统。 • guest account = pcguest:设置默认的匿名帐号。 • log file = /var/log/samba/%m.log:指定日志文件的存放位置。 • max log size = 50:指定日志文件的最大存储容量。
1. Samba服务的主配置文件 • (1)全局配置: • security = user:设置Samba服务器的安全级别,取值按照安全性由低到高为:share、user、server和domain。 • share:共享级别,用户不需帐户及密码即可访问Samba服务器的共享资源。 • user:用户只有通过了Samba服务器的身份验证之后才能访问服务资源(是Samba服务器的默认安全级别)。 • server:和user安全级别类似,但是检查帐户和密码的工作指定由另一台服务器完成。 • domain:Samba服务器加入到Windows域后,Samba服务的用户验证信息交由域控制器负责,则使用该安全级别。同时也需要设置身份验证服务器。
1. Samba服务的主配置文件 • (1)全局配置: • password server = <NT-Server-Name>:设置提供身份验证的服务器。 • encryptpasswords =yes:设置身份验证中传输的密码是否加密。 • smb passwd file = /etc/samba/smbpasswd:设置提供用户身份验证的密码文件。 • username map = /etc/samba/smbusers:指定用户映射文件。 • socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192:提高服务器的执行效率。 • interfaces = 192.168.12.2/24 192.168.13.2/24:指定Samba服务器使用的网络接口。 • local master = no:设置是否允许nmbd守护进程成为局域网中的主浏览器。 • os level = 33:设置Samba服务器参加主浏览器选举的优先级。 • domain master = yes:将Samba服务器定义为域的主浏览器。 • domain logons = yes:如果想使Samba服务器成为Windows 95等工作站的登陆服务器,使用此选项。 • wins support = yes:设置是否使Samba服务器成为网络中的WINS服务器。 • wins proxy = yes:设置Samba服务器是否成为WINS代理。 • dns proxy = no:设置Samba服务器是否通过DNS的nslookup解析主机的NetBIOS。
1. Samba服务的主配置文件 • (2)共享定义: (1)[homes]节 (2)[printers] 节
1. Samba服务的主配置文件 • (2)共享定义: (3)[public]节 在smb.conf文件的共享定义部分除了上面的内容之外,还有其他的很多用户自定义的节。除了homes节之外,在Windows客户端看到的Samba共享名称即为节的名称。常见的用于定义共享资源的参数如下表所示。
1. Samba服务的主配置文件 • smb.conf文件中常用的共享资源参数
2. Samba服务的密码文件 • Samba服务的密码文件是/etc/samba/smbpasswd。该文件中存储的密码是加密的,无法用Vi编辑器进行编辑。默认情况下该文件并不存在,可以使用以下两种方法创建: • 1. 使用smbpasswd命令添加单个的Samba帐户。 • 2. 使用mksmbpasswd.sh脚本成批添加Samba帐户。
2. Samba服务的密码文件 • (1) 使用smbpasswd命令添加单个的Samba帐户 • smbpasswd命令的格式为: • smbpasswd [参数选项] 帐户名称 • 常见参数选项有: • -a:向smbpasswd文件中添加帐户,该帐户必须存在于/etc/passwd文件中。 • -x:从smbpasswd文件中删除帐户。 • -d:禁用某个Samba帐户,但并不将其删除。 • -e:恢复某个被禁用的Samba帐户。 • -n:该选项将帐户的口令设置为空。 • -r remote-machine-name:该选项允许用户指定远程主机。 • -U username:和“-r” 连用,指定欲修改口令的帐户。
2. Samba服务的密码文件 • 【例1】将user1用户添加到smbpasswd文件中,并显示smbpasswd文件的内容 。 • 注意:在使用smbpasswd命令添加Samba帐户时,该系统帐户必须存在,如果不存在,可以使用useradd命令添加。
2. Samba服务的密码文件 • (2) 使用mksmbpasswd.sh脚本成批添加Samba帐户。
3. Samba服务的用户映射文件 • 用户映射通常是在Windows和Linux主机之间进行。两个系统拥有不同的用户帐号,用户映射就是将不同的用户映射成为一个用户。做了映射之后的Windows帐号,在使用Samba服务器上的共享资源时,就可以直接使用Windows帐号进行访问。 • 默认情况下/etc/samba/smbusers文件为指定的映射文件。该文件每一行的格式如下: Linux帐户 = 要映射的Windows帐户列表 注意:Windows中的各用户之间用空格分隔。
3. Samba服务的用户映射文件 • 【例2】在Linux中的user1用户和Windows中的mlx和jyg两个用户之间建立映射。
4. Samba服务的日志文件 • Samba服务的日志默认存放在/var/log/samba中,Samba服务为所有连接到Samba服务器的计算机建立单独的日志文件,同时也将NMB服务和SMB服务的运行日志分别写入nmbd.log和smbd.log日志文件中。管理员可以根据这些日志文件查看用户的访问情况和服务的运行状态。
4.3.3 Samba文件共享 • 【例3】设置Samba服务器所属的工作组为WORKGROUP,并限制该Samba服务器只允许192.168.1.0网段的客户访问。
例3 客户端的访问效果 1.0网段的客户访问效果 非1.0网段的客户访问效果
4.3.3 Samba文件共享 • 【例4】在Samba服务器上配置/resource目录为只读共享,共享名为share。允许所有的用户访问。
4.3.3 Samba文件共享 • 【例5】在Samba服务器上配置/tmp目录为读写共享,共享名为tmpshare。只允许用户mlx和jyg组中的用户访问。
4.3.3 Samba文件共享 • 【例6】将Samba服务器上的光驱共享。
4.3.4 Samba打印共享 • 1.配置打印机: • 在RHEL4的桌面环境下,选择【应用程序】|【系统设置】|【打印】命令,打开CUPS配置工具窗口。 • 输入sytem-config-printer命令启动CUPS配置工具。在文本模式下,该命令将启动system-config-tui应用程序,提供文本配置界面(左图);如果在图形界面下,该命令将启动system-config-gui应用程序,提供图形配置界面(右图)
4.3.4 Samba打印共享 添加打印队列 设置队列名称
4.3.4 Samba打印共享 设置队列类型 设置打印机型号
4.3.4 Samba打印共享 • 2. 在Samba中设置打印机共享 : • 在smb.conf文件中配置如下两行: • 打印机共享部分的配置:
4.3.4 Samba打印共享 • Windows系统中看到的Linux系统的共享打印机:
4.3.4 Samba打印共享 • 【例7】设置只允许用户mlx使用hp2500c打印机。
4.3.5 Linux和Windows互相通信 • 1. 从Windows访问Linux的共享资源 • 2. 从Linux访问Windows的共享资源
1. 从Windows访问Linux的共享资源 • 【例8】Windows计算机的NetBIOS名称为jnrp-mlx,Linux计算机的NetBIOS名称为rhel4。二者所属工作组为WORKGROUP。以例11-7所设置的共享资源为例,讲解在Windows中访问Linux的共享资源。 输入网络密码对话框 Windows中看到的Linux系统
1. 从Windows访问Linux的共享资源 • 【例8】Windows计算机的NetBIOS名称为jnrp-mlx,Linux计算机的NetBIOS名称为rhel4。二者所属工作组为WORKGROUP。以例11-7所设置的共享资源为例,讲解在Windows中访问Linux的共享资源。 Rhel4上的共享资源
2. 从Linux 访问Windows的共享资源 • 利用smbclient命令访问Windows共享资源。命令格式为: smbclient {servicename} [password] [options] 其中,servicename是要连接的共享资源,格式为://server/service。 • 常用参数: • -L:列出远程Samba服务器上的所有共享资源。 • -N:禁止smbclient提示输入用户口令,用于连接不需要口令的资源。 • -I:用I参数指定要访问的计算机的IP地址,而忽略NetBIOS名称。 • -U username:指定访问远程服务器时使用的用户名。
2. 从Linux 访问Windows的共享资源 • 【例9】Windows计算机的NetBIOS名称为jnrp-mlx,Linux计算机的NetBIOS名称为rhel4。在rhel4上访问jnrp-mlx计算机上的共享文件夹dir1和dir2 。 (1)在rhel4上列出jnrp-mlx上的共享资源。
2. 从Linux 访问Windows的共享资源 • 【例9】Windows计算机的NetBIOS名称为jnrp-mlx,Linux计算机的NetBIOS名称为rhel4。在rhel4上访问jnrp-mlx计算机上的共享文件夹dir1和dir2 。 (2)以administrator用户身份下载jnrp-mlx上dir1目录中的共享资源:
2. 从Linux 访问Windows的共享资源 • 利用smbmount命令访问共享资源。命令格式为: smbmount 共享资源地址 挂载点 -o 参数 卸载命令格式为: smbumount 挂载点 • 【例10】Windows计算机的NetBIOS名称为jnrp-mlx,Linux计算机的NetBIOS名称为rhel4。在rhel4计算机上将Windows计算机中的dir2目录挂载到本地的/media/windir2目录下。
2. 从Linux 访问Windows的共享资源 • Linux和Windows系统实现资源共享时需要注意的问题: • (1)Linux系统之间也可以使用smbclient和smbmount命令访问对方的共享资源。 • (2)无论Linux系统还是Windows系统的共享都受到本地权限和共享权限的双重限制,最终的共享权限在二者之间取最严格的。