zieckey 发表于 2007-08-12 23:39

利用SAMBA实现Solaris和Windows之间的文件共享


本文介绍了如何利用SAMBA实现Solaris和Windows之间的文件共享
一、概述
Samba提供了Unix系统和Windows之间的文件和打印机共享服务。一台Solaris的机器,如果配置了Samba
Server,就能充当共享服务器;同时也能作为客户机访问网络中其它Windows系统上的共享文件,或其它安装了Samba
Server的Solaris/Linux系统上的共享文件。
OpenSolaris在系统安装的时候就已经包含了Samba,只需要简单的配置就可以成为Samba
Server。
二、配置Solaris的
Samba服务器
Samba服务器包含两个Daemon,nmbd和smbd。smbd是
samba的内核,是建立对话,验证客户和提供文件系统和打印服务的基础;
nmbd则处理所有的名字注册和解析请求,实现了网络浏览的功能;它的任务是向局域网广播Samba服务器所提供的服务;Nmbd使得Samba服务器显示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。
缺省OpenSolaris并没有使能Samba服务。
#
svcs -v | grep samba
# ps -eaf | grep mbd
Samba的共享方式包括share、user、server、domain
和ads。本文主要主要介绍share和user的共享方式。
2.1
配置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
===== ===== /usr/sfw/smb.conf
==========
security
= share

comment = Home
Directories
browseable =
yes
writable = yes
path =
/export/home/smbshare
guest ok = yes
guest account =
user1
这里用户是通过默认的user1来登陆的。用户登陆之后,可以看到user1
所共享的文件和所有系统共享文件,其他用户共享的文件能够看得到,但是不一定能够使用或者进的去。如果不设置guest
account的话,则用户就以默认的nobody进行登陆,只能够使用系统设置的共享文件。其他用户设置的文件不一定能够使用。
4)
启动Samba服务
#
svcadm enable samba
# svcs | grep
samba
online1:19:02svc:/network/samba:default
# ps -eaf | grep
mbd
root 24453 1 0 01:19:02 ? 0:00
/usr/sfw/bin/smbd -D
root 24450 1 0 01:19:02 ? 0:00
/usr/sfw/bin/nmbd -D
root 24454 24453 0 01:19:02 ?
0:00 /usr/sfw/bin/smbd -D
2.2
配置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
New SMB password:
Retype new SMB password:
Added user
andy.
#
/usr/sfw/bin/smbpasswd -e andy
Enabled user andy
3)
编辑配置文件smb.conf
===== ===== /usr/sfw/smb.conf
==========
security = user

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
下的内容。
三、Solaris访问
Windows的共享资源
Samba包中已经包括了smbclient、smbmount等的实用程序。smbclient程序提供了一个类似FTP
的模式界面,允许用户共享Windows、Linux的资源,还可以用户列出服务器上的可用共享资源。smbmount类似mount命令,将
Windows的共享目录安装到Linux的本地目录。
1)
查询网络上的Samba服务器
#
/usr/sfw/bin/findsmb
每个找到的服务器都会显示其 IP 地址、NetBIOS
名称、工作组名称、操作系统、以及 SMB 服务器版本。
2)
列出Samba服务器上的可用资源
#
/usr/sfw/bin/smbclient -L
如果是 user共享方式,就要加“-U
”选项如下。
# /usr/sfw/bin/smbclient -L
-U
Password:
如果是
share共享方式,可以不必理会用户和密码,要求输入密码时直接回车即可。
3)
连接Samba共享
#
/usr/sfw/bin/smbclient // [-U
]
例如要访问上文中的share共享时,可用
#
/usr/sfw/bin/smbclient //hostname/homes
Password:
Domain=
OS= Server=
smb:>
要访问上文中的user共享时,可用
#
/usr/sfw/bin/smbclient //hostname/andy -U
andy
Password:
Domain= OS= Server=[Samba
3.0.21b]
smb:>
连接后,就能象FTP用户一样上传和下载文件。用put表示上传,用get表示下载。键入help获得可用的命令列表。
4)
挂载Samba共享
Solaris
尚不支持smbfs和smbmount命令。解决方法之一就是使用
Sharity
。其安装和使用都很简单。
安装 Sharity
#
/usr/sfw/bin/wget
http://www.obdev.at/ftp/pub/Products/Sharity3/sharity.3.3-beta3.solaris-i86pc.tar.gz
# gunzip -c
sharity.3.3-beta3.solaris-i86pc.tar.gz | tar xf
-
# cd
sharity.3.3-beta3.solaris-i86pc
# ./setup
启动和停止Sharity
重启机器后,Sharity会自动运行
#
svcs | grep sharity
legacy_run 0:38:06
lrc:/etc/rc2_d/S80sharity3
legacy_run 0:38:14
lrc:/etc/rc3_d/S80sharity3
停止 Sharity
#
/usr/local/sharity3/sbin/sharity.init stop
启动 Sharity
#
/usr/local/sharity3/sbin/sharity.init start
访问 share共享
#
/usr/local/sharity3/bin/sharity login
smb:///
Share password for \HOSTNAMESHARE:
# ls
/CIFS/entire_network///
# cd
/CIFS/[]
访问 user共享
#
/usr/local/sharity3/bin/sharity login
smb:/// -U
's password on :
#
ls
/CIFS/entire_network///
附录一、Samba在
OpenSolaris中的目录
/usr/sfw/sbin/smbd
/usr/sfw/sbin/nmbd
Samba 服务器的两个daemon
/usr/sfw/bin/smb(*)
Samba 的常用工具
/etc/sfw/smb.conf-example
系统初始自带的Samba配置文件示例
/etc/sfw/smf.conf
Samba 配置文件。系统缺省没有这个文件,需要从
/etc/sfw/smb.conf-example拷贝或手工生成
/var/samba/log
默认存放 Samba日志的目录
附录二、参考文章
The
Official Samba-3 HOWTO and Reference Guide
配置SAMBA实现Solaris10
与Windows间的文件共享
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16292/showart_358645.html
页: [1]
查看完整版本: 利用SAMBA实现Solaris和Windows之间的文件共享