第一节、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文件;
[[email protected] ~]# cd /etc/samba
[[email protected] samba]# cp
smb.conf smb.conf.bak
[[email protected] 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身份是登录;
第二步:建立相应目录并授权
[[email protected] ~]# mkdir -p /opt/test
[[email protected] ~]# id nobody
uid=99(nobody) gid=99(nobody)
groups=99(nobody)
[[email protected] ~]# chown -R nobody:nobody /opt/test
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
第三步:启动服务器
第四步:访问Samba 服务器的共享;
1、在Linux 中您可以用下面的命令来访问;
[[email protected] ~]# 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用户。
重启服务,使用这个用户进行登录即可。