windows下,想必大家都用过共享功能吧,的确很方便,直接把文件放在共享目录下即可。

那Linux下是如何实现这种共享功能呢?




其实共享也是一种通信的方式,若windows和linux之间通信,网上有很多通信软年,比如安装版SSH,不仅可以方便传送文件,同样还可以新建linux中终端,可以远程操作linux,并且这个samba服务器,windows则直接访问其ip地址即可。





samba这种实现通信的过程:linux安装samba服务器,windows直接访问期ip地址即可。【若需身份验证则验证,若无须则直接登录】





这篇博客主要介绍centos5.5下安装samba服务器过程。



我在linux演示时,发现网上资料都是先卸载,因为系统默认安装了,但是我安装的centos5.5,则发现真正的一个裸机。【嘻嘻】





那我就按照我自己的系统,进行一步步安装。





第一:安装samba服务器,需要相应的软件如下:

samba-3.0.33-3.28.el5.i386.rpm 
 
 
 

   samba-client-3.0.33-3.28.el5.i386.rpm 
 
 
 

   samba-common-3.0.33-3.28.el5.i386.rpm


注:若是版本不一致,也没有问题,比如你系统中是2.7,只要是这三个软件即可。



这三个软件,都在光盘中。我习惯的方式是copy,然后通过ssh传送到linux系统中,当然你可以使用挂载方式。



其中光盘centos目录默认提供了好多rpm软件包,比如上篇博客中提到的中文字体的软件包,直接从其目录下copy即可。



为了方便,可以点击 samba服务器软件下载。



注:在安装第一个软件时,一直安装失败,提示依赖关系,可以直接

rpm -ivhsamba-3.0.33-3.28.el5.i386.rpm-f --nodeps


第二:修改配置文件smb.conf



文件的目录:etc/samba/smb.conf



注:提前备份一份



然后把smb.conf内容全删除,改成如下:



[global]


                     workgroup = LinuxSir
            netbios name = LinuxSir
            server string = Linux Samba Server TestServer
            security = user

         [linuxsir]
            path =/test/testSamba/linuxsir
                writeable = yes
                    browseable = yes

           guest ok = no


注解:



[global]这段是全局配置,是必段写的。其中有如下的几行;



workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);



netbios name 就是在Windows中显示出来的计算机名;



server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;



security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;


[linuxsir] 这个在Windows中显示出来是共享的目录;



path = 可以设置要共享的目录放在哪里;



writeable 是否可写,这里我设置为可写;



browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no



guest ok 匿名用户以guest身份是登录;



第三:新建共享目录并且授权



在第二步中,path是设置共享的目录,因此需要认为手动新建


root@localhost ~]# mkdir -p/test/testSamba/linuxsir 
 
 
 
 
  
 
 

   [root@localhost ~]# id nobody 
 
 
 

   uid=99(nobody) gid=99(nobody) groups=99(nobody) 
 
 
 

   [root@localhost ~]# chown -R nobody:nobody /opt/linuxsir

第四步:启动samba服务器



Samba 有两个服务器,一个是smb,另一个是nmb smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问 而nmb



是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;


启动服务器的步骤: 
 
 
 

   直接输入两个命令即可。 
 
 
 

   [root@bogon ~]# smbd 
 
 
 [root@bogon ~]# nmbd 
  
 

   查看服务器是否已经运行: 
 
 
 

    5097 
  
 
  

    [root@bogon ~]# pgrep smbd 
  
 
  

    5094 
  
 
  

    5095 
  
 
  
 
   
 
  

    关闭服务器: 
  
 
  

    [root@bogon linuxsir]# pkill nmbd 
  
 
  

    [root@bogon linuxsir]# pkill smbd



OK,把服务器启动即可。windows即可访问了。



windows在运行窗口中输入:




其中:直接手动敲入ip或主机名即可。linux自动把共享目录显示。


centos离线安装sysdig centos离线安装samba_centos离线安装sysdig




注:若链接不上,在服务启动的前提下,检查samba服务器中的端口是否测通,或者因为防火墙而阻塞。


检查samba服务器的端口:

[root@bogon linuxsir]# netstat -tlnp | grep smb 
   
 tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 13318/smbd    
 tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 13318/smbd


使用上篇博客中提到的方法telnet,测试这两个端口是否测通。


若不通,则把防火墙关闭或更改配置文件。


并且因为smb.conf配置文件中writeable是可写,因此windows有可写的权限,权限的配置在此文件中配置即可



然后测试使用user方式,连接时,需要用户名和密码


创建用户和密码: 
    
     

      [root@bogon samba]# useradd samba 
     
     

      [root@bogon samba]# passwd samba 
     
     

      给用户设置samba密码: 
    
     

      [root@bogon samba]# smbpasswd samba 
     
     
      
     

       启动samba服务器,测试 
     
      

       service smb start,启动 
     
      

       service smb stop,停止 
     
      

       service smb restart,重启


windows链接时,有点慢:


centos离线安装sysdig centos离线安装samba_服务器_02



然后输入linux中的设置的用户名和密码即可访问。