废话不说,下面是实现匿名用户可读可写的文件共享:

第一步: 更改smb.conf

  我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;

 

[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK

然后我们来重新创建一个smb.conf文件;

[root@localhost samba]#gedit smb.conf

然后我们把下面这段写入smb.conf中;



[global]
 
   workgroup  
   = 
    Linux
 
   netbios name  
   = 
    LinuxID
 
   server string  
   = 
    Linux Samba Server TestServer
 
   security  
   = 
    share
 
   [linuxFile]
 
   path  
   = 
     
   /test 
   
 
   writeable  
   = 
    yes
 
   browseable  
   = 
    yes
 
   guest ok  
   =



想多加一个共享文件夹只需要在smb.conf上多加一段,例如:



[linuxFile2]
path = /test2
writeable = yes
browseable = yes
guest ok =



注解:

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

workgroup 就是Windows中显示的工作组;在这里我设置的是linux;

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

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

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

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

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

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

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

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

第二步:建立相应目录并授权;

[root@localhost ~]# mkdir -p /test
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /test

注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

第三步:启动smbd和nmbd服务器;

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

第四步:查看smbd进程,确认Samba 服务器是否运行起来了;

[root@localhost ~]# pgrep smbd
139
445

第五步:访问Samba 服务器的共享;

在Linux 中您可以用下面的命令来访问;

[root@localhost ~]# smbclient -L //192.168.0.47(linux服务器的ip地址)
  Password: 注:直接按回车

在Windows中,您可以用下面的办法来访问;

\\ 192.168.0.47(linux服务器的ip地址)

 

===================================== 

今天还遇到一个问题:重启电脑以后,windows再也登录不进去共享文件夹了。

解决:关掉linux的防火墙,防火墙默认是禁止samba的端口的。