前言: Samba 服务器可以说是 windows Linux 共享的一座桥梁,通过 samba 服务器可以轻松的再 windows 下访问 Linux 服务器上所共享出来的资源,这里就不再多说废话了,可以找一些资料了解一下。

1.     查看一下系统是否安装了 samba 功能组件,如下图:

     

2.     从上面的图中可以看出还缺少一些功能组件,下面我们来安装组件:

     

  

3.     配置 smb.conf 文件,该文件的位置是在 /etc/samba/ 目录下。打开 smb.conf 文件进行编辑,截图只截一些关键图,因为 smb.conf 文件太长,无法全部接下来,如下:(先看截图,截图下面有说明。)

     

“Global Settings” 中,主要设置“ workgroup ”字段其所在的工作组,该工作做应该跟 windows 主机是同在一个工作组,该实验中是采用了“ WODRKGROUP ”这个工作组;第二个红色的方框是对共享服务器的一个描述信息;第三个红色框可以定义允许访问该共享主机上的资源而 IP 网段。
 

第一、二个红色的框框定义了 samba 日志的存放位置和日志的命名方式,第三个框框定义了最大日志的大小,第四个框框是最为主要的,该框框定义了 samba 的四种安全级别,分别是 share user server domain 四种。

Share :没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。

User samba 的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。

Server :和 user 安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台 NT 服务器。如果递交失败,就退到 user 安全级

Domain :这个安全级别要求网络上存在一台 Windows 的主域控制器, samba 把用户名和密码递交给它去验证。

本次实验选择安全级别最低的来配置实验。

第五个框框也是挺重要的,因为 user 安全级别的 samba 用户密码就是存放在 /etc/samba/smbpasswd 这个文件中,注意一下: user 级别的安全模式是有 samba 用户的, samba 用户是基于计算机用户的存在而建立的,要建立 samba 用户,那么在该服务器上必须已经存在了这么一个计算机用户,这样才能创建成功。
 

第一个红色框框就是定义共享的标题,在下面的内容中可以定义共享的文件、位置、权限等等。

第二个红色框框就是定义 homes 目录下是否可见( browseable , 是否允许写入( write )操作。
 

红色框框就是我们这次所定义的一个共享文件,【 yangzexin 】这个字段是用户访问的时候所能看到的,【 comment 】这个字段是对共享文件的一个描述。【 Path 】就是路径了,这个路径一定要写正确,而且在该路径下要有相应的文件夹,不然会找不到共享的路径的。【 writeable 】是指用户对 jesse 文件夹有没有写入的权限,有的话那就可以在该文件夹创建文件和修改文件;【 public 】就是定义匿名用户是否可以访问,当然是 yes 了。

4.     testParm 测试 smb.conf 配置文件是否有错:

 

  从图中可以看出配置是没有错误的,加载文件是成功的。

5.     启动 samba 服务器,截图如下:

 

6.     windows 下访问 Linux 主机上的共享文件夹,截图如下:

    
    
 

 

7.     在另一台 Linux 主机下访问共享文件夹,截图如下:

  

   出现 password 字段时,由于允许匿名访问,所以不用输入密码

  

   第二个红色的框框表明已经进入了 yangzexin 文件夹下了。

 

看到的文件。注意:其实你在 yangzexin 文件夹下看到的文件其实是存放在 /share/jesse 目录下的文件

实验成功 .

二.     实验过程所遇到的问题

1. windows 主机访问共享文件夹后,将里面的内容删除掉了,可是一刷新就有出现了 , 这个现象让人费解。

  答:截图如下:
 
 

此时我一刷新就有出现 123.doc 这个文件了,如下图所示:
 

其实出现这种情况是由于对文件夹没有写入的权限,所以要让用户有权限删除掉这些文件,那么就应该赋予写入的权限了。其实匿名用户访问文件夹或者文件,在 Linux 中是以其他用户身份登录的,所以就要为该文件的 other 赋予写入权限。而且我们在该实验中的目标文件应该是 jesse 这个文件夹,所以应该修改 jesse 这个文件夹的权限,修改其他用户和组权限。对于访问文件夹的权限的几种组合如下:用户想要访问共享文件夹的话,那么最为基本的就要有读和执行的权限,两者缺一不可,如果少了读的权限或者少了执行的权限,那是访问不了共享文件夹的,有了这两项权限的话,就可以访问文件夹,但是不可以写入任何内容,但如果一旦赋予了写入的权限,用户就可以修改文件夹和删除文件夹里面的内容了。
 

这样子用户就可以删除掉文件了。注意前提是: writeable=yes, 如果 writeable=NO 的话,对文件赋予读、写、执行的操作也是不能删除文件的。

2. 出现以上的情况还有可能跟防火墙和 selinux 有关系,所以一般就要关闭掉防火墙,同时还要修改 /etc/selinux/config 这个文件,将 seliunx 这个字段修改我 disabled ,然后重新启动计算机就可以了,如若不想重启的话,可以执行 setenforce 0 就可以了。

3. root 用户下创建共享目录,结果访问不了,为什么?

答:由于 root 用户是超级用户,所以在权限方面是不允许其他用户随便访问的,所以一般创建共享目录都放在根目录下或者其他目录下。