科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>服务器频道>ZD评测>配置Samba服务器 实现跨系统间文件共享

配置Samba服务器 实现跨系统间文件共享

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了通过配置Samba服务器,实现跨系统间文件共享。

来源: 2007年09月27日

关键字:文件共享 服务器 Samba

  ZDNetChina服务器站 9月27日x86服务器技巧  Samba提供了Unix系统和Windows之间的文件共享服务。Solaris如果配置了Samba Server,就能充当共享服务器,同时也能作为客户机访问网络中其它Windows系统上的共享文件,或其它安装了Samba Server的Solaris/Linux系统上的共享文件。OpenSolaris在系统安装的时候就已经包含了Samba,因此只需要简单的配置就可以成为Samba Server。

  一、配置Solaris的Samba服务器

  Samba服务器包含nmbd和smbd两个Daemon。smbd是samba的内核,是建立对话、验证客户、提供文件系统和打印服务的基础;nmbd则处理所有的名字注册和解析请求,实现网络浏览的功能,它的任务是向局域网广播Samba服务器所提供的服务,使得Samba服务器显示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。

  缺省OpenSolaris并没有使用Samba服务。

  # svcs -v grep samba

  # ps -eaf grep mbd

  Samba的共享方式包括share、user、server、domain和ads,本文主要主要介绍share和user的共享方式。

  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

  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服务

  # 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、配置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

  security = user

  [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下的内容。

    二、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=[MYGROUP] OS=[Unix] Server=[Samba 3.0.21b]

  smb:>

  要访问上文中的user共享时,可用

  # /usr/sfw/bin/smbclient //hostname/andy -U andy

  Password:

  Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.21b]

  smb:>

  连接后,就能象FTP用户一样上传和下载文件。用put表示上传,用get表示下载。键入help获得可用的命令列表。

  4、挂载Samba共享

  Solaris尚不支持smbfs和smbmount命令。解决方法之一就是使用Sharity。其安装和使用都很简单。

  1)安装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

  2)启动和停止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

  3)访问share共享

  # /usr/local/sharity3/bin/sharity login smb:///

  Share password for \HOSTNAMESHARE:

  # ls /CIFS/entire_network///

  # cd /CIFS/[]

  4)访问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

邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅ZDNet技术邮件将是您的最佳途径之一。