Samba用来实现在Linux主机和Windows主机间的资源共享,是为了在UNIX上实现与DOS的文件共享而产生的,由澳大利亚国力大学的Andrew Tridgell在1991年开放源代码的项目
1、Samba服务简介
Samba用于在UNIX实现SMB(Session Message Block,服务器信息块协议),是一个工具套件,在windows系列中,SMB协议通常用于实现文件和打印机共享。
注:UNIX/linux间用NFS实现共享,而windows使用网上邻居,所共享饿文件系统是CIFS(Common Internet File System)
SMB协议运行在NetBIOS的顶端,虽然NetBEUI、IPX/SPX和TCP/IP的顶端,都可以运行NetBIOS,但对于Samba来说,只能在TCP/IP上实现SMB
2、Samba服务的安装
Samba服务功能的实现主要靠两种服务:处理文件和打印机共享请求的SMB服务,处理NetBIOS名称服务请求和网络浏览功能的NMB功能。从Samba的官方网站获取Samba,
#rpm -ivh libsmbclients-3.0.30-35.i386.rpm
#rpm -ivh libsmbclients-devel-3.0.30-35.i386.rpm
#rpm -ivh samba3-client-3.0.30-35.i386.rpm
#rpm -ivh samba3-3.0.30-35.i386.rpm
#rpm -ivh samba3-cifsmount-3.0.30-35.i386.rpm
#rpm -ivh samba3-utils-3.0.30-35.i386.rpm
#rpm -ivh samba3-winbind-3.0.30-35.i386.rpm
SELinux将拒绝访问,开放家目录访问权限的指令如下:
#setsebool -P samba_enable_home_dirs=1
#chcon -R -t samba_share_t /etc/samba
3、启动、停止和重启Samba服务
#service smb start (包含了smbd和nmbd两个服务)
自动启动设置
#chkconfig --level 35 smbd on
#chkconfig --level 35 nmbd on
Samba服务的配置文件
1、Samba服务的主要配置文件
smb.conf是Samba服务的核心控制文件,用来设置如何为其他计算机提供文件和打印机共享服务。
2、Samba服务的秘密文件
在Linux下,随着加密方法的不同,Samba服务的的秘密文件也各不相同,密码文件名是passdb.tdb(位于/etc/samba目录下),默认方式是tdbsam。
3、日志文件
#smbclient -U% -L localhost ;检测编写号的服务控制文件是否有问题
可以通过查看文件/var/log/samba/%m.log,“%m”指客户端得NetBIOS名称,如果没有NetBIOS名称,错误信息记录在log.smbd
smb.conf文件详解
1、文件结构
类似Windows下的某些配置文件,采用段的形式
(1)[global]
定义了服务器本身的配置参数及其他共享资源的默认配置参数
注:其他部分包含和其相同的选项,以其他部分为准
(2)[homes]
指定Windows共享的主目录,如果在Windows工作站登录的用户名和密码与Linux相同,可以成功访问共享目录
(3)[printers]
指定如何共享Linux网络打印机
注释行以“#”开头
输入行过长以“\”分隔
(4)配置文件检查
在Samba工作期间,每个60s检查一次,如果希望配置马上生效,可以向smbd和nmbd进程发送SIGHUP信号来实现。
2、语法和变量
用“options=value”来赋值,还支持不少变量,以%开头
%u 当前的Linux用户名
%m 客户端Netbios名
3、smb.conf文件详解
1、[global]
设置Samba计算机所属的工作组和描述信息
workgroup = hhwork
server string = Samba Server Version %v
设置网上邻居中显示名
netbios name=Samba Server
hosts allow 指定允许访问Samba服务器的客户机IP,默认被注释掉,所有客户都可访问
log file日志文件的文件名和具体位置(默认/var/log/samba/%m.log)
security=user/ADS 指定用户验证模式,和采用的密码文件机制
share共享安全级别,客户端在连接请求期间发送一个口令,不需要任何相关的用户信息。
user用户安全级别,服务器会检查密码(必须用户名和密码在/etc/samba/sbmpasswd中有定义)
server服务器安全级别,密码验证工作交给指定的服务器,无法通过才切换到user模式下
domain域安全级别,Samba模拟加入Windows域的服务器,但必须有Windows域的管理员账号
ads 活动目录安全级别,要求客户端必须是win2000以上
共享资源访问
1、从linux客户端访问共享资源
#smbclient //192.168.0.4/music -U administrator
2、本机Windows分区和Linux分区的资源互访
(1)linux查看Windows分区的步骤
#fdisk -l
#mkdir /mnt/winpart
#mount -t auto /dev/hda1 /mnt/winpart
#umount /mnt/winpart
注:不支持ntfs文件格式,需要重新编译内核
(2)windows查看linux分区
需要借助软件,explore2fs和fsdext2
注:smbmount现在是mount -t cifs=smbmount,已被smbclient替代
DMB(Domain Master Browser)
LMB (Local Master Browser)
阅读(1707) | 评论(0) | 转发(1) |