Linux配置Samba服务

  为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信。
 
1、服务查询
  默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。
命令:
    rpm -qa | grep samba
执行结果:(默认情况下可以查询到如下两个已经存在的包)
    samba-client-3.0.33-3.7.el5
    samba-common-3.0.33-3.7.el5


2、卸载Samba
  用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系。
命令:
  rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps
  rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps

3、安装Samba
命令:
    apt-get install samba system-config-samba samba-client samba-common
安装完成后,使用命令:rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

4、配置smb.conf文件
  Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部分主要配置都在该文件中进行。
  Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

第一步:修改配置文件
    首先备份一下samba的配置文件
命令:
    cd /etc/samba
    mv smb.conf smb.confbak

    然后重新创建一个smb.conf文件
命令:
    touch smb.conf

然后如下内容写入smb.conf中
[global]
    workgroup = WORKGRPUP
    netbios name = admin
    server string = Linux Samba Server TestServer
    security = share

 [shareDir]
            path = /home/shareDir
            writeable = yes
            browseable = yes
       guest ok = yes
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup         就是Windows中显示的工作组(根据自己计算机配置赋值)
netbios name    就是在Windows中显示出来的计算机名(根据自己计算机配置赋值)
server string   就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security         这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[shareDir]         这个在Windows中显示出来是共享的目录;
path             可以设置要共享的目录放在哪里;
writeable         是否可写,这里我设置为可写;
browseable         是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok         匿名用户以guest身份是登录;

第二步:建立相应目录并授权;
命令:
[root@localhost ~]# mkdir -p /home/shareDir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /home/shareDir
注释:
  关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;


第三步:启动smbd和nmbd服务器;
[root@localhost ~]# service smb restart

海阔凭鱼跃,天高任鸟飞。
原文地址:https://www.cnblogs.com/chenshikun/p/9510982.html