怎样设置Samba文件服务器以使用Windows客户端

根据Samba项目网站所述,Samba是一个开源/自由软件套件,提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署(如HP-UX的LM服务器,OS/2的LAN服务器,或者VisionFS),Samba(及其源代码)是可以自由获取的(终端用户无需付费),允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。

怎样设置Samba文件服务器以使用Windows客户端

出于这些理由,Samba在不同操作系统(除了Linux)共存的网络中首选的文件服务器解决方案——最常见的结构是多个微软Windows客户端访问安装有Samba的Linux服务器,该情形也是本文将要解决的问题。

请注意,另外一方面,如果我们的网络仅仅是由基于Unix的客户端(如Linux,AIX,或者Solaris,等等)组成,我们可以考虑使用NFS(尽管在此种情况下Samba仍然是可选方案),它可以提供更快的速度。

------------------------------------分割线------------------------------------

------------------------------------分割线------------------------------------

在Debian和CentOS中安装Samba

在我们开始安装之前,我们可以使用操作系统中的包管理系统查询Samba的信息:

在Debian上:

  1. # aptitude show samba

在CentOS上:

  1. # yum info samba

在下面的屏幕截图中,我们可以看到‘aptitude show samba’的输出(‘yum info samba’会产生类似的结果):

怎样设置Samba文件服务器以使用Windows客户端

现在让我们来安装Samba吧(下面的截图来自Debian 7[Wheezy]服务器上的安装):

在Debian上:

  1. # aptitude install samba

在CentOS上:

  1. # yum install samba

添加用户到Samba

对于4.x之前的版本,需要建立一个本地Unix帐号以便将其添加到Samba:

  1. # adduser <username>

怎样设置Samba文件服务器以使用Windows客户端

接下来,我们需要添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同):

  1. # smbpassword -a <username>

怎样设置Samba文件服务器以使用Windows客户端

最后,我们将赋予用户xmodulo到我们系统上某个目录的访问权限,该目录将被用于作为此用户的Samba共享(如有需要,也可以共享给其它用户)。要完成该工作,请使用文本编辑器(如Vim)打开/etc/samba/smb.conf文件,导航到文件末,然后创建一个带有描述名称的区块(使用方括号将其括起来),如[xmodulo]:

  1. # SAMBA SHARE
  2. [xmodulo]
  3. path =/home/xmodulo
  4. available = yes
  5. valid users = xmodulo
  6. read only =no
  7. browseable = yes
  8. public= yes
  9. writeable = yes

我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误:

  1. # service samba restart
  2. # testparm

怎样设置Samba文件服务器以使用Windows客户端

如果有错误,在testparm结束后会报告。

在Windows 7计算机上将Samba共享映射为一个网络驱动器

在计算机上右击,然后选择“映射网络驱动器”:

怎样设置Samba文件服务器以使用Windows客户端

输入安装了Samba的机器的IP地址,后跟共享名(就是smb.conf文件中方括号括起来的那个名称),然后确保选中了“使用不同的凭据连接”:

怎样设置Samba文件服务器以使用Windows客户端

相关推荐