RHEL6__Linux网络服务轻舞飞扬第二章Samba文件共享服务——理论部分如何查看Linux主机的网卡配置信息?有哪些方式可以修改网卡的IP地址?如何为Linux主机设置默认网关地址?配置DHCP服务器时,如何设置保留地址?课程回顾学会构建文件共享服务器学会访问共享文件夹技能展示本章结构Samba文件共享服务可匿名访问的共享需用户验证的共享Samba软件的组成主配置文件smb.conf使用smbclient访问共享使用mount挂载共享Samba服务基础构建文件共享服务器访问共享文件夹用户映射及访问地址限制SMB协议ServerMessageBlock,服务消息块CIFS协议CommonInternetFileSystem,通用互联网文件系统Samba项目Samba软件包构成samba-3.0.33-3.28.el5samba-common-3.0.33-3.28.el5samba-client-3.0.33-3.28.el5samba-swat-3.0.33-3.28.el5.i386.rpmSamba服务基础3-2Samba服务器的主要程序smbd:提供对服务器中文件、打印资源的共享访问nmbd:提供基于NetBIOS主机名称的解析Samba的服务脚本/etc/init.d/smbSamba的配置目录及文件/etc/samba//etc/samba/smb.conf配置文件检查工具:testparmSamba服务基础3-3smb.conf文件的配置内容[global]:全局设置[homes]:用户目录共享设置[printers]:打印机共享设置[myshare]:自定义名称的共享目录设置辅助配置内容注释行:以#号开头的行配置样例行:以;号开头的行结合grep命令可以提取有效配置行grep-v^#smb.conf|grep-v^;|grep-v^$主配置文件smb.conf3-1[global]workgroup=MYGROUPserverstring=SambaServerVersion%vsecurity=userpassdbbackend=tdbsamloadprinters=yescupsoptions=raw[homes]comment=HomeDirectoriesbrowseable=nowritable=yes[printers]comment=AllPrinterspath=/var/spool/sambabrowseable=noguestok=nowritable=noprintable=yes常见全局配置项的含义workgroup:所在工作组名称serverstring:服务器描述信息security:安全级别,可用值如下:share、user、server、domainlogfile:日志文件位置,“%m”变量表示客户机地址maxlogsize:日志文件的最大容量,单位为KBpassdbbackend:设置共享账户文件的类型maxconnections=0同时允许访问的客户端数量主配置文件smb.confpassdbbackend即用户后台有三种后台:smbpasswd、tdbsam和ldapsam。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–ausername:新建Samba账户。pdbedit–xusername:删除Samba账户。pdbedit–L:列出Samba用户列表,读取passdb.tdb数据库文件。pdbedit–Lv:列出Samba用户列表详细信息。pdbedit–c“[D]”–uusername:暂停该Samba用户账号。pdbedit–c“[]”–uusername:恢复该Samba用户账号。3.ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdbbackend=ldapsam:ldap://LDAPServer”常见共享目录配置项的含义comment:对共享目录的注释、说明信息path:共享目录在服务器中对应的实际路径browseable:该共享目录在“网上邻居”中是否可见guestok:是否允许所有人访问,等效于“public”writable:是否可写,与readonly的作用相反主配置文件smb.conf3-3Samba服务设置的读取、写入权限,优先级要低于文件系统中设置的权限请思考:Samba服务包括哪2个主程序,各自的作用是什么?Samba服务使用到了哪些协议、端口?Samba服务的安全级别包括哪些,默认级别是什么?小结1.修改smb.conf配置文件security=sharepublic=yes2.检查配置的正确性testparm命令工具3.启动smb服务servicesmbstart可匿名访问的共享[root@localhost~]#mount/dev/cdrom/media/cdrom/mount:blockdevice/dev/cdromiswrite-protected,mountingread-only[root@localhost~]#vi/etc/samba/smb.conf[global]workgroup=WORKGROUPsecurity=share……[rhel5]comment=RHEL5.5DVDdirectory.path=/media/cdrompublic=yesreadonly=yes[root@localhost~]#servicesmbstart启动SMB服务:[确定]启动NMB服务:[确定]使用默认工作组允许匿名访问建立可匿名访问的文件共享[root@filesvr~]#servicesmbstart启动SMB服务:[确定]启动NMB服务:[确定][root@filesvr~]#netstat-anptu|grepmbdtcp000.0.0.0:1390.0.0.0:*LISTEN8866/smbdtcp000.0.0.0:4450.0.0.0:*LISTEN8866/smbdudp00192.168.168.1:1370.0.0.0:*8870/nmbdudp000.0.0.0:1370.0.0.0:*8870/nmbdudp00192.168.168.1:1380.0.0.0:*8870/nmbdudp000.0.0.0:1380.0.0.0:*8870/nmbdSMB协议CIFS协议NetBIOS名称解析NetBIOS数据报1.建立Samba用户数据库文件默认数据库文件位于:/etc/samba/passdb.tdb需用户验证的共享3-1[root@localhost~]#useraddvina[root@localhost~]#pdbedit-a-uvinanewpassword:retypenewpassword:Unixusername:vinaNTusername:AccountFlags:[U]UserSID:S-1-5-21-1335442607-132733983-2423133945-1000PrimaryGroupSID:S-1-5-21-1335442607-132733983-2423133945-513……添加系统用户vina添加共享用户vina[root@localhost~]#pdbedit-Lvina:501:[root@localhost~]#pdbedit-vLvinaUnixusername:vinaNTusername:AccountFlags:[U]UserSID:S-1-5-21-1335442607-132733983-2423133945-1000PrimaryGroupSID:S-1-5-21-1335442607-132733983-2423133945-513……列出所有Samba用户显示vina用户的详细信息2.设置用户访问授权新建测试目录修改smb.conf配置文件,添加名为tools的共享目录重新加载smb.conf文件,或重启smb服务需用户验证的共享3-2[root@localhost~]#mkdir/opt/mytoolsroot@localhost~]#vi/etc/samba/smb.conf[global]security=user……[tools]comment=Youcangetsoftwaretoolsfromhere.path=/opt/mytoolspublic=noreadonly=novalidusers=vanko,hunterwritelist=hunter[root@localhost~]#servicesmbreload重新载入smb.conf文件:[确定]3.确定用户访问权限设置目录权限,设置上传文件和目录的默认权限需用户验证的共享3-3[root@localhost~]#chmod777/opt/mytools[root@localhost~]#vi/etc/samba/smb.conf[tools]……directorymask=0755createmask=0644[root@localhost~]#servicesmbreload重新载入smb.conf文件:[确定]1.共享账号映射(别名)2.启用映射账号用户映射及访问地址限制2-1[root@localhost~]#cat/etc/samba/smbusers#Unix_name=SMB_name1SMB_name2...root=administratoradminnobody=guestpcguestsmbguest[root@localhost~]#vi/etc/samba/smb.conf[global]usernamemap=/etc/samba/smbusers……[root@localhost~]#servicesmbreload重新载入smb.conf文件:[确定]访问地址限制一般用在全局配置[global]部分hostsallow配置项:仅允许特定的客户机hostsdeny配置项:仅拒绝特定的客户机客户机地址表示形式:以空格分隔多个地址主机名或IP地址,例如:192.168.168.11或者prtsvr网络地址,例如:173.17.或者173.17.0.0/255.255.0.0用户映射及访问地址限制2-2[root@localhost~]#vi/etc/samba/smb.conf[global]hostsallow=192.168.4.173.17.……[root@localhost~]#servicesmbreload重新载入smb.conf文件:[确定]smbclient命令,查看及登录使用共享smbclient-L192.168.4.11smbclient-Usunboy//192.168.4.11/tools访问共享文件夹2-1[root@localhost~]#smbclient-L192.168.4.11Password:AnonymousloginsuccessfulDomain=[WORKGROUP]OS=[Unix]Server=[Sam