您的位置:首页 > 其它

Solaris8和Solaris10下SAMBA的安装和配置

2010-01-22 16:08 363 查看
本文实践成功,Solairs8是sun blade 150 , Solaris10是Sun Enterprise T2000
都是sparc 64bit!

也是原创文件,请尊重作者m@QiNtOsHi的成果,不要转载,仅限引用,多谢合作!

一。 关于Samba是什么,我就只讲一句了:提供Unix和Windows之间的文件和打印机共享服务,也能作为client访问网络中其它Windows
系统上的共享文件.Solaris8默认并没有安装SAMBA,而Solairs10 Jan/2006之后的都已经默认安装了Samba3.0,只要简单的配置就可以成为
Samba Server。Samba 服务器包含两个Daemon,smbd和nmbd。smbd是 samba的内核,是建立对话,验证客户和提供文件系统和打印服务
的基础;nmbd则处理所有的名字注册和解析请求,实现了网络浏览的功能;它的任务是向局域网广播Samba服务器所提供的服务;
nmbd使Samba服务器显示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。

二。SAMBA服务关联文件结构
目录&文件 说明 其它
/etc/sfw/smb.conf-example Samba 配置文件示例 系统自带,是smb.conf的示例文件
/etc/sfw/smf.conf Samba 配置文件 系统自己没有这个文件,
需要从/etc/sfw/smb.conf-example拷贝或者手工创建这个文件
/usr/sfw/bin/smb(*) Bin工具 smbcacls, smbcontrol
                   smbpasswd, smbtar
                   smbtree, smbsh, smbclient
                   smbspool, smbstatus, smbcquotas
/var/samba/log 默认samba日志目录
/etc/init.d/samba samba管理命令 Solaris10已改为更简便的SVC服务管理方式

三。SAMBA設定

Solaris 10

Solaris10的samba服务默认不会启动
a 查看SAMAB是否已经启动?
#svcs -l samba

state: online
...
如果是offline的话,#svcadm enable samba

b SAMBA配置文件设定
#vi /etc/sfw/smb.conf
(没有的话就:#cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf复制sample过来修改)

********************************************
SMB.CONF
********************************************
[global]

workgroup = WORK1 --> (1)

server string = Samba Server --> (2)

security = user --> (3)

encrypt passwords = yes --> (4)

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 --> (5)

 ; interfaces = 192.168.12.2/24 192.168.13.2/24 --> (6)

map to guest = Bad User --> (7)

guest ok = Yes

coding system = euc --> (8)

client code page = 932 --> (9)

(1) 工作组指定,自己按要求看着弄吧.

(2) Windows 的网上邻居,或者我的网络里,用来表示这个共享目录的comment,property.

(3) samba工作模式.
user: 用户模式,也就是Samba是用户连入模式,连接到samba的时候需要密码验证
share: 共享模式,对任何访问这个samba地址的client来说,都是完全开放的. 这次我就弄这个
domain: domain认证模式,我没用过...

(4) 不显示真实密码设置. 就是*****的方式显示密码

(5) 网络性能设置.socket参数,buffer大小等.

(6) 通常不用管这个,当服务器启动了2个 NIC (俗称网卡)的时候,需要指定哦! “; “注释掉.

(7) 当(3)的值为share以为的时候,才有效。sguest用户访问设置,有3个选项
Never :密码不正确的login都拒绝 (默认值是Never!)
Bad User: 密码不正确的登陆被拒绝,如果这个用户不存在则会指定guest accout的用户来登陆
Bad Password:密码不正确的登陆被拒绝而且指定guest accout的用户来登陆
要小心哦,这个时候只要是密码不对都被用guest accout登陆哦!

(8) Encoding,不再详细介绍了。。。euc,sjis, cap, utf8 etc...

(9) Windows code page 指定,比如中文是2312,日語是932

下面是共享目录设定:
#=========== Share Definitions ============
# Un-comment the following and create the netlogon directory for Domain Logons
[samba] ; [SAMBA Dir Name]
comment = Sun T2K Samba Dir ; comment
browseable = yes ; browseable = yes/no
writable = yes ; writable = yes/no
path = /export/home2/ws ; path = 服务器本地要共享路径
guest ok = yes ; guest ok = yes/no 是否无IP限制,可以随意访问
create mask = 0777 ; create mask = 上传或创建文件的属性
directory mask = 0777 ; directory mask = 上传或创建文件目录的属性
… …
********************************************

c 设置好了就,重新启动SAMBA服务,使得上面的smb.conf的修改内容得以刷新
#svcadm restart samba

Solaris 8
由于Solairs8默认没有安装samba,那就比较恶心要手动自己装了,而且还少了很多必要的软件。
具体请参考:

a http://www.sunfreeware.com这里,把下面的软件都下载了先!(很多吧?!可以没办法!一个字:慢慢下!) coreutils-8.2-sol8-sparc-local, db-4.7.25.NC-sol8-sparc-local
gcc-3.4.6-sol8-sparc-local, gmp-4.2.1-sol8-sparc-local
krb5-1.7-sol8-sparc-local, libiconv-1.13.1-sol8-sparc-local
libintl-3.4.0-sol8-sparc-local, libtool-2.2.6b-sol8-sparc-local
ncurses-5.6-sol8-sparc-local, openldap-2.4.16-sol8-sparc-local
openssl-0.9.8l-sol8-sparc-local, popt-1.14-sol8-sparc-local
readline-5.2-sol8-sparc-local, samba-3.4.2-sol8-sparc-local
sasl-2.1.21-sol8-sparc-local, zlib-1.2.3-sol8-sparc-local

上面是2010。1。18日的文件状况,如果有最新版本就下最新版本,脑子不要太死哦!
samba的下载说明请参考: (!请注意x86和sparc版本!) http://www.sunfreeware.com/programlistsparc8.html#samba
b 把刚才下好的软件安装!
注意其中有依赖关系,方正gcc要先装。而gcc安装需要:libiconv and libintl.
我大概列举下:

libintl-3.4.0-sol8-sparc-local.gz needs libiconv

krb5-1.7-sol8-sparc-local.gz needs openssl and ncurses

openldap-2.4.16-sol8-sparc-local.gz needs openssl, libtool, sasl, db-4.7.25.NC

libtool needs coreutils

coreutils-8.2-sol8-sparc-local.gz needs gmp

gcc-3.4.6 needs libiconv and libintl.

samba-3.4.2以外的都装好了,再装samba!
为了方便不知道gz怎么解压,pkgadd不会的人,例举下:
#gunzip libiconv-1.13.1-sol8-sparc-local.gz
#pkgadd -d libiconv-1.13.1-sol8-sparc-local (-d 是指定当前目录的pkg安装,否则你就都放在sfw/spool里巴)

c SMB.CONF修改,修改内容参见solaris10的 这部分,这里只讲solaris8下,
安装好samba,smb.conf-exmple的路径:
#cp /usr/local/doc/samba/example/smb.conf.default /usr/local/samba/lib/smb.conf
然后请参看前面solaris10下的smb.conf的配置

d. 配置swat(Samba Web Administration Tool)不?需要的话就设个端口号让OS认识swat
# vi /etc/services
最后一行添加以下内容:
swat 901/tcp # swat on samba

再设置inetd,好让swat通过inetd来启动
# vi /etc/inet/inetd.conf
最后一行添加以下内容:
swat stream tcp nowait.400 root /usr/local/samba/sbin/swat swat

services和inetd.conf文件修改保存后,重新启动inetd服务:
#pkill -HUP inetd

e 制作SAMBA起動脚本,

可以简单: 我推荐这个
# vi /etc/rc3.d/S99samba
/usr/local/samba/sbin/smbd -D -s/usr/local/samba/lib/smb.conf && echo "smbd started."
/usr/local/samba/sbin/nmbd -D -l/usr/local/samba/logs -s/usr/local/samba/lib/smb.conf && echo "nmbd started."

也可以稍微复杂:
#####################################
#!/bin/sh

if [ ! -d /usr/bin ]
then # /usr not mounted
exit
fi

killproc() { # kill the named process(es)
pid=`/usr/bin/ps -e |
/usr/bin/grep -w $1 |
/usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
[ "$pid" != "" ] && kill $pid
}

# Start/stop processes required for samba server

case "$1" in
'start')
#
# Edit these lines to suit your installation (paths, workgroup, host)
# Add the following parameters to nmbd, smbd, winbindd if needed
# (this may be needed for custom file locations)
# -D -s$BASE/lib/smb.conf
#
BASE=/usr/local/samba
$BASE/sbin/nmbd
$BASE/sbin/smbd

;;
'stop')
killproc nmbd
killproc smbd

;;

'restart')
killproc nmbd
killproc smbd
BASE=/usr/local/samba
$BASE/sbin/nmbd
$BASE/sbin/smbd
;;

*)
echo "Usage: /etc/init.d/samba { start | stop | restart }"
;;
esac
#########################################

f 测试samba起動,结果出现:
# /etc/rc3.d/S99samba start
ld.so.1: smbd: fatal: libtalloc.so(!这里的库文件可能是别的!): open failed: No such file or directory
Killed
爬文很久,发现需要重新更新下solaris8的动态连接库文件路径,让samba的依赖软件和库文件重定位:

参考了http://bwachter.lart.info/solaris/solfaq.html
# crle -c /var/ld/ld.config -l /usr/local/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.7/lib:/usr/local/samba/lib:/opt/sfw/lib:/usr/lib:/lib\
e 最后再测试下启动,终于无错误:
# /etc/rc3.d/S99samba start
$ps -ef | grep smbd
$ps -ef | grep nmbd

搞定!
本文实践成功,Solairs8是sun blade 150 , Solaris10是Sun Enterprise T2000
都是sparc 64bit!

也是原创文件,请尊重作者m@QiNtOsHi的成果,不要转载,仅限引用,多谢合作!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: