Solaris 10 下已经包括Samba软件包,也可以下载源代码安装。如果在系统安装的时候已经包含了 SAMBA,只需要简单的配置就可以使用了。
1 Samba文件服务器的四个安全级别:
共享级别安全机制
当security参数设置为share时,Samba服务器执行共享级别的安全操作。用户不需要账户及密码即可登入Samba服务器。
用户级别安全机制
当security参数设置为user时,Samba服务器执行用户级别的安全操作。由提供服务的Samba服务器负责检查账户及密码(是Samba默认的安全等级)。
服务器级别安全机制
当security参数设置为server时,Samba服务器执行服务器级别安全机制的安全操作。检查账户及密码的工作指定由另一台Windows NT/2000 或Samba 服务器负责。
域级别安全机制
当security参数设置为Domain,Samba服务器执行域级别安全机制的安全操作。指定Windows NT/2000域控制服务器来验证用户的账户及密码。域级别安全机制和服务器级别安全机制的不同之处:
Samba服务器不维持和密码服务器的专用连接。只要在需要时才连接到远程的验证服务器,平时断开连接。这对密码服务器是好的, 因为Windows2000/NT是根据用户连接数量来决定发放访问许可的。
Samba服务器可以利用Windows2000/NT的诸如信任域特征的域约束性能。
2 配置共享级别
#cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf
说明:samba的配置文件是smb.conf,该文件默认应该被放置在 /etc/sfw/ 目录下,默认情况下/etc/sfw/目录下有一个名为 smb.conf-example 的文件,该文件是Solaris系统提供给用户的一个配置例子。
用文本编辑工具编辑,输入以下内容:
[global]
workgroup = hust
netbios name = W1Q
server string = Solaris Samba Server TestServer
security = share
![]()
log file =/var/log/samba/%m.log
max log size = 50
[home]
path = /mnt/samba
writeable = yes
browseable = yes
guest ok = yes
参数说明:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是一种;
另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[home] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
建立共享目录
# mkdir -p /mnt/samba
再建立一个文件,便于测试
# touch /mnt/samba/cjh.txt
# chmod 777 /mnt/samba
启动smbd和nmbd服务器
# /etc/init.d/samba start
下面是关闭命令
#/etc/init.d/samba stop
或者使用其他启动命令 : # svcadm enable samba
查看smbd进程,确认Samba 服务器是否运行起来了,分别使用netstat和ps命令检查服务器进程情况,和端口使用情况,见图2。

看到了相关的进程号,说明samba服务器已经在工作了。也可以所有命令:svcs | grep samba 查看。
修改 smb.conf的[global]节,加上:
这样可以解决中文显示是乱码问题。unix charset = GBK
dos charset = GBK
display charset = GBK
访问Samba 服务器的共享;
在 Solaris 中您可以用下面的命令来测试;
# /usr/sfw/bin/smbclient -L //192.168.0.2
说明:192.168.0.2是Samba 服务器IP,或者是Samba服务器的计算机别名。 如图3 。

让Samba服务随服务器自动启动
在/etc/rc3.d/下创建S38samba
vi /etc/rc3.d/S38samba
/etc/init.d/samba start
后存盘
chmod 755 /etc/rc3.d/S38samba
这样就可以省去每次手动开启Samba服务了