2012年(8)
分类: LINUX
2012-08-10 15:19:56
WdOS系统上samba服务的基本配置
背景知识:
Samba服务:提供不同系统之间的共享服务,还用拥有强大的打印服务功能。通过smb协议。
SMB协议:可以看做是局域网上共享文件和打印机的一种协议。它是Microsoft和Intel在1987年制定的协议,主要是作为Microsoft网络的通信协议,而samba则是将SMB协议搬到UNIX系统上来使用,通过“NetBIOS over TCP/IP”使用samba不但能与局域网主机共享资源,也能与全世界的计算机共享资源。
Samba的工作流程:协议协商—建立连接—访问共享资源—断开连接
下面是我在wdOS系统上配置samba的一些学习记录
一、 安装
先用命令rpm –qa | grep samba 查看是否已经安装了samba服务
如果还没安装,可用yum一键安装,简单又方便。
再次查看安装情况,已经安装了。
重启服务
注:Samba服务器安全模式
Samba服务器安全模式又share、user、server、domain、ads 五种安全模式。用来适应不用的的企业服务器的需求。
(1)Share安全级别模式:客户端登陆samba服务器,不需要输入用户名和密码就可以浏览samba服务器资源。如security=share
(2)User安全级别模式:客户端登陆samba服务器,需要提交合法的账户和密码,经过服务器验证才可以访问共享资源,默认为次模式
(3)server安茜级别模式:客户端需要将用户名和密码提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问
(4)domain安全级别模式:如果samba服务器加入windows域环境中,验证工作将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登陆windows域的
(5)ads安全级别模式:当samba服务器使用ads安全级别加入到windows域环境中,就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能
一、 下面我只用share和user安全级别模式做实例操作
*、Share服务器实例解析
1、修改主配置文件,并保存结果
注:workgroup = wdOSgroup #设置samba服务器工作组名为wdOSgroup
server string = wdOSserver #添加samba服务器注释信息为wdOSserver
security = user #设置samba的安全级别为share
; passdb backend = tdbsam
smb passwd file=/etc/samba/smbpasswd #samba服务器为了实现客户端身份验证功能,将用户名和密码信息存放在/etc/samba/smbpasswd 中,在客户端访问时,将用户提交的资料与smbpasswd存放的信息进行对比,如果一致,则允许访问。
注:[home]为特殊共享目录,表示用户主目录。
[printers]表示共享打印机。
添加设置共享目录
注:[public2] #设置共享目录名为public1
comment=public2
path=share #共享目录的绝对路径为/share
guest ok=yes #允许匿名访问
public=yes #最后设置允许匿名访问
writable=yes #允许读写
注:重启服务之前,先把防火墙给关了,不然会出现重启失败,如果防火墙关了之后还是重启失败的话,检查一下sellinux是否disable掉了。
2、测试
不需要输入账号和密码直接登录samba服务器
*、User服务器实例解析
1、例:如果某学校有分为多个管理模块,因管理工作的需要,就必须分门别类地建立相应部分的目录,要求将学生的资料存放在samba服务器的/school/student/目录下集中管理,一边管理人员浏览资料,并且该目录只允许管理人员访问。
分析:为了保证出学生资料管理人员外其他部门无法查看其内容,我们需要将全局配置中security设置为user模式,这样,samba服务器的就启用了身份认证机制。
建立共享目录,并在其下建立测试文件test_file.tar
注:mkdir /school
mkdir /school/student
touch /school/student/test_file.tar #建立测试文件
添加student管理用户组,添加系统用户user1和user2 ,密码123456
为student资料管理人员添加相应的samba账号, 密码123
注:samba的账户信息是保存在smbpasswd文件中,而且可以访问samba服务器的账号也必须对应一个同名的系统账号。也就是说,只要知道samba服务器的samba账号,就等于知道了系统账号,那么,只要暴力破解samba账号密码加以利用就可以攻击samba服务器,所以,为了保障服务的安全,往往会在系统账号中设置一些映射账号,即我们所说的虚拟账号。这样,我们在访问samba服务器共享目录是,只要输入虚拟账号就可以成功访问,但是实际上访问samba的还是我们的系统账号,这样一来就解决了安全问题。(这里我就不举例设置了)
添加共享目录student
修改主配置文件smb.conf,并保存结果
注: security = user #设置samba服务的安全级别模式为user
; passdb backend = tdbsam
smb passwd file=/etc/samba/smbpasswd ##samba服务器为了实现客户端身份验证功能,将用户名和密码信息存放在/etc/samba/smbpasswd 中,在客户端访问时,将用户提交的资料与smbpasswd存放的信息进行对比,如果一致,则允许访问。
添加student共享目录
[student] #设置共享目录的共享名
comment=student
path=/school/student #设置共享目录的绝对路径
valid users=@student #设置可以访问的用户组student
2、测试
输入samba账户和密码
成功访问samba服务器共享资源
打开student这个目录下有刚刚为了测试用而建立的一个测试压缩文件
有问题的可到共同讨论学习