Chinaunix首页 | 论坛 | 博客
  • 博客访问: 171508
  • 博文数量: 33
  • 博客积分: 2037
  • 博客等级: 大尉
  • 技术积分: 365
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-24 20:29
文章分类
文章存档

2011年(1)

2010年(2)

2009年(21)

2008年(9)

我的朋友

分类:

2009-06-04 15:23:33

    我们常常在Windows之间通过局域网来访问共享目录,在SolarisWindows之间,可以借助samba来实现WindowsSolaris的访问。Solaris 910的发行版本中已经自带了samba,不需要再安装,但在Solaris 8以及之前的版本中,如果要使用samba,需要先安装。安装包可从sunfreeware网站上下载。

 

1samba的配置文件在/etc/sfw目录中,有一个smb.conf-example文件,是配置示例,可以参照这个文件进行需要的配置,自己手动创建一个smb.conf文件:

 

下面是一个配置文件例子(更详细的可查看smb.conf-example):

[global]

workgroup = MYGROUP

netbios name = cat

server string = Samba Server

security = user

 

[share]

comment = Share Directories

browseable = yes

writable = yes

available = yes

path = /export/home/smbshare

create mask = 0644

directory mask = 0755

 

[home]

comment = Home Directories

browseable = yes

writable = yes

available = yes

path = /export/home/%u

create mask = 0644

directory mask = 0755

 

说明:

[global]

表示全局配置,这个是必须有的

workgroup = MYGROUP

windows中显示的工作组名称,可自定义

netbios name = cat

所显示的计算机名,一般使用Solarishostname就可以,也可自定义

server string = Samba Server

描述说明,在windows中局域网查看时会显示,可自定义

security = user

可设置为share或者user,设置为share时,为向所有人开放,即不需要输入用户名密码就可以登录浏览,如果设置为user,则需要使用账户才能登录。关于share方式的共享,在后面详述

[share]

windows的资源管理器中访问该samba服务器时可看到的文件夹名称,名为share,除[global]外,其他的[xxx]都可看成是一个共享资源

comment = Share Directories

注释,可自定义

browseable = yes

共享目录是否可见,yes或者no,设置为no时,windows资源管理器中看不到该目录,但仍可以输入路径访问

writable = yes

共享目录是否可写,yes或者nowritable也可写成read onlyread only = no表示可写,但需要注意登录的账号必须拥有目录本身的可写权限才能生效,也就是说如果目录的permissionrwxr-xr-xownerroot,那么即使这里writable = yes,也只有root账号访问samba时才能有写权限,其他账号登录时不可写

available = yes

    共享目录是否可用,yes或者no,设置为no时,改共享目录不可访问,如果不设置此参数,默认为可用

path = /export/home/smbshare

    目录路径

create mask = 0644

    创建文件时,文件的permission,为rw-r--r--,如果不设置,缺省值为rwxr--r--

directory mask = 0755

    创建目录时,目录的permission,为rwxr-xr-x

[home]:

    同上[share]

path = /export/home/%u

    这里的%u表示登录samba的用户名,如果登录用户名为user1,那么路径就是/export/home/user1,那么当user1用户打开home目录时,显示的就是自己在Solaris上的home目录内容。类似的参数有:

%S = 当前服务名;
%P =
当前服务的根路径;
%u =
当前服务的用户名;
%g =
给定%u的所在的主工作组名;
%H =
给定的%u的宿主目录;
%v = Samba
版本号;
%h =
运行Samba的机器的主机名;
%m =
客户机的NETBIOS名;
%L =
服务器的 NetBIOS 名;
%T =
当前的日期和时间;

 

 

2、设置为share方式的共享,smb.conf如下:

[global]

workgroup = MYGROUP

netbios name = cat

server string = Samba Server

security = share

 

[share]

comment = Share Directories

browseable = yes

writable = yes

available = yes

path = /export/home/smbshare

create mask = 0644

directory mask = 0755

guest ok = yes

guest account = smbuser

 

红色标注的字段为不一样的地方,当设置security = share时,需要开放guest访问权限,即共享资源的设置中必须要有guest ok = yes,否则无法访问。

最后一行的guest account = smbuser,表示匿名登录samba时,以指定的smbuser账户登录。如果不设置,那么samba将以nobody账户登录。例子中的smbuserSolaris中已存在的账户,通过smbpasswd命令添加到samba账户中。

    某些情况下可能出现即使指定了guest account,但仍以nobody登录的问题,如果这样,可以把guest ok和guest account设置到[global]里试一下。

 

3、添加samba账户

访问samba时使用的账户必须要是Solaris中已经存在的账户,但是samba使用的passwd文件和Solarispasswd是分开的,需要通过smbpasswd命令进行添加,该命令位于/usr/sfw/bin目录下。如果smbuser这个账户是Solaris中已有的,添加为samba账户:

    增加账户

    # /usr/sfw/bin/smbpasswd -a smbuser

    启用账户

    # /usr/sfw/bin/smbpasswd -e smbuser

    禁用账户

    # /usr/sfw/bin/smbpasswd -d smbuser

    删除账户

    # /usr/sfw/bin/smbpasswd -x smbuser

    更改smbuser用户密码

    # /usr/sfw/bin/smbpasswd smbuser

 

增加账户时需要设置密码,这个密码与Solaris的账户密码可以不同。sambapasswd文件位于/etc/sfw/private/smbpasswd

 

 

4、启动samba服务

samba服务的启动脚本位于/etc/init.d/samba,内容如下:

#!/sbin/sh

#

# Copyright (c) 2001 by Sun Microsystems, Inc

# All rights reserved.

#

#ident  "@(#)samba      1.1     01/09/24 SMI"

 

case "$1" in

start)

        [ -f /etc/sfw/smb.conf ] || exit 0

 

        /usr/sfw/sbin/smbd -D

        /usr/sfw/sbin/nmbd -D

        ;;

stop)

        pkill smbd

        pkill nmbd

        ;;

*)

        echo "Usage: $0 { start | stop }"

        exit 1

        ;;

esac

exit 0

 

启动samba服务:

       # /etc/init.d/samba start

停止samba服务:

       # /etc/init.d/samba stop

 

每次修改了smb.conf配置文件,需要重启samba服务以生效。

 

 

5、使用过程中发现,如果使用Solaris 9自带的samba,在设置security = user时,可能无法使用账户登录,在Windows xp中访问时提示:

       \\IP is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.

       The account is not authorized to log in from this station.

 

该问题未找到解决办法,不过我从sunfreeware网站上下了个samba-3.2.4,重新安装配置后,便可以正常使用用户名密码登录了,可能是Solaris 9自带的samba有问题。Solaris 10下未测试。

如果使用安装的samba,文件的路径会不一样:

       samba的安装目录为/usr/local/samba

       smbpasswd等执行文件位于目录/usr/local/samba/bin

       保存账户信息的smbpasswd文件位于目录/usr/local/samba/private

       samba的服务监听程序位于目录/usr/local/samba/sbin,这个需要修改/etc/init.d/samba的启动脚本,将其中的/usr/sfw/sbin替换为/usr/local/samba/sbin

       部分lib文件位于目录/usr/local/samba/lib,如果使用samba时提示找不到某些lib文件,可在/usr/lib下做个link

阅读(2076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~