samba的核心是两个守护进程smbd和nmbd程式,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全
部配置信息全都保存在smb.conf文档中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,
共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源和
Linux进行协商,nmbd进程使其他主机(或工作站)能浏览Linux服务器。
什么是Samba
Samba是用来实现SMB的一种软件,由澳大利亚的Andew Tridgell开发,是一种在Linux(Unix)环境下运行的免费软件。
通过使用Samba,Linux系统可以实现如下功能:
文件服务和打印服务(在Linux和Win95/NT之间系统之间提供打印机和磁盘的共享)
登陆服务器,使用Windows客户能注册到网络上
作为主要域控制器和域中成员的功能
WINS服务器以及浏览功能
支持SSL(Secure Socket Layer)
支持SWAT (Samba Web Administration Tool )
Samba除了支持Linux(Unix)和Win95/NT之外,还支持DOS、IBM OS/2、Macintosh 等操作系统。
1.安装samba服务包,默认在root/sofe下.进入目录,执行:rpm ivh samba- 装包之前先装per-CGC
如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。
装好之后用[root@cisco samba]# rpm -qa | grep smb检查是否已安装完成
3. 配置/etc/samba/smb.conf文件.
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LinuxSir
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是
user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
2.在系统中创建test用户
debian~:# useradd -m test
增加samba用户
debian~:# smbpasswd -a test
samba的用户名必须与Linux系统的用户名一致,但密码可以不同。用户登录Sabma服务器时的密码是使用sabpasswd程序设置的密码。
3启动samba服务:service smb start
3、Samba的配置
Samba的配置信息都存放在/etc/samba/smb.conf文件中。配置信息分为两个部分:全局参数区[global],设置一些公共信息;资源共享区,设置Linux服务器上要共享的资源。
[global]
Workgroup=mygroup #工作组名或Windows的域名
Server string=samba server #对samba服务器的注释说明
Printcap name=/etc/printcap #设置samba服务启动时,将自动加载的打印机配置文件
Load printers=yes #设置是否允许打印配置文件中的所有打印机开机时自动加载(默认)
Security=user #设置安全模式,此处是需要登录时输入用户名和密码
Encrypt passwords=yes #使用加密密码方式
Smb passwd file=/etc/smbpasswd #samba密码文件
[homes] #samba服务为每一个samba用户提供一个主目录,该共享目录通常只有用户本身可以使用。个人的主目录默认存放在/home目录下,每个Linux用户有一个独立的子目录
Comment=Home Directories #对共享目录说明
Browseable=no #是否允许用户浏览所有人的主目录,即homes目录
Writable=yes #是否允许写入个人主目录
[samba] #新建一个共享名称
Path=/home/lnguest #共享目录名称
Public=yes #允许公共访问
Writeable=yes #允许写操作
实例:配置需要用户名和密码登录的Samba服务器
①smb.conf的主要设置
[global]
Workgroup=sambagroup
Server string=samba server
Security=user
Encrypt passwords=yes
Smb passwd file=/etc/smbpasswd
[homes]
Comment=Home Directories
Browseable=no
Writable=yes
[samba]
Path=/home/lnguest
Public=yes
Writeable=yes
②添加用户
先添加一个Linux系统用户
Adduser(adduser) samba
Passwd samba(为这个用户指定密码)
再把samba加入到samba服务器用户中并设定密码:smbpasswd –a samba
用testparm /etc/samba/smb.conf检测配置文件的配置有无语法错误
4、samba的启动和停止
①手动启动
Service smb start或/etc/rc.d/init.d/smb start
②系统启动的时候启动
Ntsysvd打开服务器配置程序,找到“smb”服务,按空格键选择(打上*)
③重启
/etc/rc.d/init.d/smb restart或service smb restart
④停止Samba服务
/etc/rc.d/init.d/smb stop或service smb stop
5、Linux客户端的访问
①登录到服务器
Smbclient //服务器IP或主机名/共享目录名 –U 登录用户名
②将共享资源加载到本机
smbmount //服务器IP或主机名/共享目录名 挂载点 –o username=登录用户名
此时 cd “加载点”
ls可查看加载的内容
Smbumount “挂载点”(卸载共享资源)
6、Windows客户端的访问
①在“网上邻居”中的Mygroup工作组中就可以查看到安装了samba的Linux服务器,双击要求用户输入samba服务器的用户名和密码
②开始菜单——>“运行”中输入 \\服务器IP或主机名
③窗口或浏览器的地址栏中输入 \\服务器IP或主机名