上篇博文中我介绍了FTP,今天我们来介绍一下samba实现文件共享。
这个比FTP更好点,因为对用户的权限可以通过samba权限和系统权限交叉使用,取最严格的。可以让windows更容易的从linux系统上存取文件,还有samba也可以让linux上面的打印机成为打印机服务器(printer server),这个服务可以让你的linux瞬间成为一个档案服务器(file server),FTP还有一个小小的问题,那就是无法直接修改主机上面的档案数据,只能从server上下载好以后才能修改,因此档案在server与client端都会存在。而samba可以解决这一问题。
那它为什么叫samba呢?这是因为这个服务的创始人的缘故,刚开始这个人在注册的时候申请了SMB(server message block ),因为smb没有真正的意义,这时候这个人就开始查找名词当他看到samba这个词正好包含了smb,又是热情拉丁舞的名称,于是就用samba做为商标了。
好了废话少说开始我们今天的实验。
实验大致步骤:
1、安装
2、配置并启动服务
3、验证
进入光盘安装目录,我们需要安装两个rpm包,一个server与一个client包。
samba:这个主包中包含了samba的主要deamon档案、samba的文件(document)、以及其它与samba相关的logrotate设定文件及开机预设选项档案等:
samba—client:这个包提供了当linux做为samba client端时,所需要的工具指令。
我们先来安装主包
主包安装完成
安装client包,显示已经安装过了,不用安装了。O(∩_∩)O~
还是进入我们要修改的配置文件,这个文件分为两部分。这个配置文件几乎不用我们修改什么。
这个是全局设置,大家看一下
在全局设置里包含了工作组、服务器版本等等。
这个事共享定义部分,里面可以通过修改来实现我们对用户的限制。
我们来添加几条记录,来建两个文件一个给最大权限(pub),一个给最小权限(test),其中
path = /tmp/pub(指定上传的目录)
browseable = yes(对其他人是否可见)
guest ok = yes(允许匿名用户)
writable = yes(允许用户写)
public = yes(公开的)
valid users = aa(指定这个目录属于哪个用户,这个目录只允许aa用户访问)
我们在上一步中指定的那两个目录是不存在的需要我们手工建立的,建好这两个目录后来创建samba用户,这的用户必须是系统已经存在的,先来创建系统用户aa 、bb。但是samba用户的密码与系统的密码是不同的,为什么不一样呢?
大家想一下samba是共享的是允许匿名访问的,当别人访问你的samba服务器时如果密码一样那样你的系统很容易被攻击。
我们来给aa这个用户设置一个密码,密码要求用足够的复杂度,不然会报下面错误
我们给aa 、 bb都设置了samba密码。记住密码一定要复杂点啊。
我们来重新启动一下服务,看到FAILED没事,那是在停止服务,因为我们的samba还没有启动,所以会失败的,看到后两个ok就行了。
我们来修改一下系统的权限,把pub目录设置成最大权限777,把test这个目录的属组和属主都改为aa并把这个目录的权限改为700
好了一切准备就绪等待我们的访问,在windows系统上双击网上邻居,搜索输入我们要访问主机的ip,看到验证窗口后输入我们创建的用户aa点击确定。
好了可以正常访问并可以在文件夹中创建/删除文件,大家看到打印机和传真了吧,这就是samba的好处可以共享打印机。
我们退出来,清除一下缓存,让bb登陆,因为test这个目录是属于aa这个用户的,当bb这个用户访问时它会给你要用户名与密码,限制成功。
test访问不了,但是pub这个目录是可以访问的因为他的权限是最大的允许任何人访问的,我们双击这个目录也是可以在里面创建/删除文件的。
注意:samba用户的密码可以与系统密码一样,但必须符合复制性,但是不建议大家这样做,因为这样做是不安全的。
本文转自 liuyonglei 51CTO博客,原文链接:http://blog.51cto.com/liuyonglei/150221,如需转载请自行联系原作者