04.SMB文件共享原理
·SMB协议是windows中使用的文件共享协议,我们在Linux、unix系统中可以通过samba实现SMB功能,
·samba服务是SMB的一个开源实现,主要功能:
·通过SMB协议进行文件共享,
·通过SMB协议进行打印共享,
·加入一个windows2000\2003\2008域环境,
·通过windows域环境进行认证操作,
·SMB协议又称为CIFS(Common Internet File System)协议,
·samba安装及介绍:
·yum install samba,安装samba,
·samba有3个服务,分别是:
·1.smbd提供文件及打印共享功能,使用139、445端口,一般作为文件共享使用samba只需要smbd服务即可,
·2.nmbd提供netBIOS支持,使用137端口,
·3.winbindd提供针对windows2000\2003\2008的用户及组信息的解析功能,需要单独安装:yum install samba-winbind,
·samba服务:
·启动smb服务,service smb start,
·samba服务的主配置文件为:/etc/samba/smb.conf,
·配置文件分为3部分:
·1,global定义全局配置,
·2,homes定义对用户家目录的共享配置,
·3,priters定义打印机共享配置,
·samba服务可以作为独立服务器使用,也可加入windows的域环境使用:
·1,作为独立服务器使用时,用户名使用Linux系统的用户名,但是需要单独创建samba密码,
·2,当加入windows域环境时,一般使用windows域用户,
·samba有2种安全模式:
·1,user级别模式,默认安全模式,使用用户名密码验证,
·2,share级别模式,不需要密码即可访问,(与部分windows有兼容问题,可能没有),
·global配置:
·配置工作组信息
·workgroup = TEST,
·server string = this is test workgroup,
·配置安全模式
·security = user(默认)|share(创建匿名共享时)|domain|ads|server,
·passdb backend = tdbsam是密码的加密方式,
·用户home共享:
·samba服务配置文件默认就配置好了用户家目录的共享,
·smbpasswd -a test1为用户test1创建samba密码,
·创建独立共享:
·可以通过向/etc/samba/smb.conf最后添加如下配置
·[samba-share]---共享名
·comment = this is samba-share----共享注释信息
·path = /share---共享目录路径
·valid users = han test1---能够使用这个共享的用户
·public = no---是否设置公开的
·broweable = yes---是否可浏览
·writable = yes---是否可写
·printable = no---是否是打印共享
·creat mask = 0765---设置默认共享权限
·最好对内部目录chmod 1757 ,,,之类的权限,防止用户A删除用户B的文件,
·客户端连接:
·如果连接失败没权限,试试命令:setenforce 0,
·windows客户端直接使用:\\192.168.1.1\share,
·Linux\unix图形界面(资源管理器\浏览器)使用:smb://192.168.1.1/share,
·Linux使用CLI下使用smbclient连接:smbclient //192.168.1.1/share -U han,后接参数指明用户,
·Linux使用mount挂在smb共享:mount -t cifs //192.168.1.1/share /mnt -O username=han,password=’han’,
·samba检查:
·testparm检查samba配置文件语法是否正确
·smbclient -L 12.168.1.1 (-U test1)查看一个指定服务器都有哪些共享