第一节、samba是干什么的?它有什么用?

Samba(SMB是其缩写) 是一个网络服务器,它是Linux作为本地服务器最重要的一个服务,用于Linux和Windows共享文件之用;Samba可以用于Windows和 Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统 NFS,NFS也是需要架设服务器的;

2、安装及服务操作命令

安装samba程序非常简单,使用rpm -q samba查看当前系统是否已经安装了samba软件。

如果没有那就进入光盘,rpm -ivh *samba*.rpm即可。

仔细说下安装的包:

samba-common-3.0.28-0.el5.8    //samba服务器和客户端中的最基本文件

samba-3.0.28-0.el5.8           //samba服务器核心软件包

system-config-samba-1.2.39-1.el5     //samba图形配置界面

samba-client-3.0.28-0.el5.8          //samba客户端软件

 

启动、暂停和停止服务:

/etc/init.d/smb start

/etc/init.d/smb stop

/etc/init.d/smb restart

service smb start

service smb stop

service smb restart

 

第二节、由最简单的一个例子说起,匿名用户可读可写的实现

第一步: 更改smb.conf

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

[root@localhost ~]# cd /etc/samba
[root@localhost samba]# cp smb.conf smb.conf.bak

[root@localhost samba]# vi smb.conf 或geidt smb.conf &
然后我们把下面这段写入smb.conf中:

 

[global]
workgroup = WORKGROUP
netbios name = Liukai
server string = Liukai's Samba Server

security = share

[test]
        path = /opt/test

        writeable = yes
        browseable = yes
        guest ok = yes


注解:

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

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

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

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

[root@localhost ~]# mkdir -p /opt/test

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

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

第三步:启动服务器

第四步:访问Samba 服务器的共享;
1、在Linux 中您可以用下面的命令来访问;

[root@localhost ~]# smbclient -L //liukai 或 smbclient //192.168.0.94/test
Password: 注:直接按回车
2、在Windows中,您可以用下面的办法来访问;

\\liukai  或  \\192.168.0.94

3、说明:如果用了netbiosname,就可以用“\\主机名”来访问,如果没用netbiosname,就不能用主机名访问。

 

第三节、简单的密码验证服务器

修改smb.conf文件:

security = user

guest account = liukai

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

然后,建立一个新用户

useradd liukai

passwd liukai

成功后,cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

smbpasswd -a liukai

这就成功地添加了一个smb用户。

重启服务,使用这个用户进行登录即可。