废话不说,下面是实现匿名用户可读可写的文件共享:
第一步: 更改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的端口的。