2008-09
一、概述
Samba 提供了Unix系统和Windows之间的文件和打印机共享服务。一台Solaris的机器,如果配置了Samba Server,就能充当共享服务器;同时也能作为客户机访问网络中其它Windows系统上的共享文件,或其它安装了Samba Server的Solaris/Linux系统上的共享文件。
配置Solaris的 Samba服务器
Samba 服务器包含两个Daemon,nmbd和smbd。smbd是 samba的内核,是建立对话,验证客户和提供文件系统和打印服务的基础; nmbd则处理所有的名字注册和解析请求,实现了网络浏览的功能;它的任务是向局域网广播Samba服务器所提供的服务;Nmbd使得Samba服务器显示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。
缺省Solaris并没有使能Samba服务。
# svcs -v | grep samba
# ps -eaf | grep mbd
Samba的共享方式包括share、user、server、domain 和ads。
配置share方式
采用share方式,用户不需要输入帐号和密码就可以登陆samba服务器
1) 创建一个Samba共享目录
# mkdir -p /export/home/smbshare
2) 创建Samba配置文件
# cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf
3) 编辑配置文件smb.conf
配置文件参数说明:
[global]这段是全局配置,是必写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是一种;
另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[home] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
===== ===== Global Settings ==========
workgroup = WORKGUOUP
security = share
===== ===== /usr/sfw/smb.conf ==========
security = share
[homes]
comment = Home Directories
browseable = yes
writable = yes
path = /export/home/smbshare
guest ok = yes
guest account = user1
这 里用户是通过默认的user1来登陆的。用户登陆之后,可以看到user1 所共享的文件和所有系统共享文件,其他用户共享的文件能够看得到,但是不一定能够使用或者进的去。如果不设置guest account的话,则用户就以默认的nobody进行登陆,只能够使用系统设置的共享文件。其他用户设置的文件不一定能够使用。
4) 启动Samba服务
启动smbd和nmbd服务器
# /etc/init.d/samba start
关闭smbd和nmbd服务器
#/etc/init.d/samba stop
或者使用其他启动命令 : # svcadm enable samba
配置user方式
配置成user方式需要提供用户名和密码进行验证。这里Samba用户必须是 Solaris系统用户。而对同一个用户来说,samba密码和系统密码不必一定相同。
1) 添加一个系统用户(用已经存在的也可以)
# useradd -d /export/home/andy -m -s /usr/bin/bash andy
2) 用smbpasswd添加Samba用户
# /usr/sfw/bin/smbpasswd -a andy
3) 编辑配置文件smb.conf
===== ===== Global Settings ==========
workgroup = WORKGROUP
security = user
===== ===== Share Definitions ==========
[homes]
comment = Home Directories for %S
valid users = %S \\ 只有所有者能访问该共享
browseable = no \\ 该共享对其它用户不可见
writable = yes
create mask = 0640 \\ 创建文件时的权限掩码
directory mask = 0750 \\ 创建目录时的权限掩码
这里%S通配符可以扩展成实际的共享名。这样andy共享的注释将是 “Home Directories for andy”。
4) 重新启动Samba服务
# svcadm restart samba
从其它系统上用samba访问该Solaris机器时,如果输入的用户名是 andy,密码是Samba密码,就能看到/export/home/andy 下的内容。