Solaris 10 下 Samba 的详细配置步骤和常见问题解决
Posted 打杂人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solaris 10 下 Samba 的详细配置步骤和常见问题解决相关的知识,希望对你有一定的参考价值。
由最简单的一个例子说起,匿名用户可读可写的实现
第一步: 配置smb.conf
我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;
samba的配置文件是smb.conf,该文件默认应该被放置在 /etc/sfw/ 目录下,
默认情况下/etc/sfw/目录下有一个名为 smb.conf-example 的文件,
好的。现在我们给出一个最简单的例子:
bash-3.00# cd /etc/sfw/
bash-3.00# touch smb.conf
编辑smb.conf
bash-3.00# gedit smb.conf
用gedit这个类似于UltraEdit的文本编辑工具编辑,输入以下内容:
[global]
workgroup = hust
netbios name = hust_zieckey
server string = Solaris Samba Server TestServer
security = share
log file =/var/log/samba/%m.log
max log size = 50
[zieckey]
path = /mnt/samba
writeable = yes
browseable = yes
guest ok = yes
说明注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;
另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[zieckey] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
第二步 建立共享目录
bash-3.00# mkdir -p /mnt/samba
再建立一个文件,便于测试
bash-3.00# touch /mnt/samba/welcome.txt
第三步:启动smbd和nmbd服务器
bash-3.00# /etc/init.d/samba start
下面是关闭命令
/etc/init.d/samba stop
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
bash-3.00# pgrep smb
1264
1267
1274
看到了相关的进程号,说明samba服务器已经在工作了。
第五步:访问Samba 服务器的共享;
在 Solaris 中您可以用下面的命令来测试;
bash-3.00# /usr/sfw/bin/smbclient -L //192.168.0.13 注:"192.168.0.13"是系统的IP地址
Password: 注:直接按回车,因为没有设置密码
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]
Sharename Type Comment
--------- ---- -------
ADMIN$ IPC IPC Service (Samba 3.0.21b)
IPC$ IPC IPC Service (Samba 3.0.21b)
homes Disk Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]
Server Comment
--------- -------
Workgroup Master
--------- -------
HUST HUST_ZIECKEY
bash-3.00#
或者:
bash-3.00# /usr/sfw/bin/smbclient -L hust_zieckey 注:"hust_zieckey"是Samba服务器的计算机别名
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]
Sharename Type Comment
--------- ---- -------
ADMIN$ IPC IPC Service (Samba 3.0.21b)
IPC$ IPC IPC Service (Samba 3.0.21b)
homes Disk Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]
Server Comment
--------- -------
Workgroup Master
--------- -------
HUST HUST_ZIECKEY
WORKGROUP APPLE
bash-3.00#
在Windows中,您可以用下面的办法来访问;
在运行命令中输入
192.168.0.13
可以看到已经连接到samba上了,但碰到了一些问题。
问题1:进入zieckey,发现没有权限
问题1解决方法:回到Solaris看看那个目录的权限信息发现对于其它的用户都没有写信息的权限。
用chmod 777 改一下。
bash-3.00# chmod 777 /mnt/samba
再到Windows下测试,试图写一个文件,这个时候就可以写了,当然下载文件也没有问题。
问题2:在Windows下,看到Samba服务器的中文文件名是乱码。
用samba的缺省配置,在WinXP下去访问没甚么问题,只是发现中文显示是乱码。
查了以下man samba, 发现unix charset 缺省是UTF-8编码的。因此修改 smb.conf的[global]节,加上:
unix charset = GBK
dos charset = GBK
display charset = GBK
重启samba即OK
第六步 让Samba服务随机启动
这样就可以省去每次手动开启Samba服务了
在/etc/rc3.d/下创建S38samba
vi /etc/rc3.d/S38samba
/etc/init.d/samba start
后存盘
chmod 755 /etc/rc3.d/S38samba
大S后面的数字说明:
The numbers mean the ORDER in which the `init` executes them. (Actually, the 'init' executes in the same order as 'ls -l', but of course the bigger number, the latter). So be careful when you add your own script, put the script in the right order -- some script depends on other service(if your script A depends on service B, then A's number MUST bigger than B's).
至此一个Solaris10系统上最简单也最实用的Samba服务器架设并配置成功了!
Solaris 10 配置 samba 服务
一、samba简介
Samba 提供了Unix系统和Windows之间的文件和打印机共享服务。一台Solaris的机器,如果配置了Samba Server,就能充当共享服务器;同时也能作为客户机访问网络中其它Windows系统上的共享文件,或其它安装了Samba Server的Solaris/Linux系统上的共享文件。
Solaris10 在系统安装的时候就已经包含了Samba,只需要简单的配置就可以成为Samba Server。
Samba 服务器包含两个Daemon,nmbd和smbd。smbd是 samba的内核,是建立对话,验证客户和提供文件系统和打印服务的基础; nmbd则处理所有的名字注册和解析请求,实现了网络浏览的功能;它的任务是向局域网广播Samba服务器所提供的服务;Nmbd使得Samba服务器显 示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。
Solaris10 自带samba,但samba服务为遗留服务,新安装solaris中未被启用
使用命令 ps –ef | grep mbd,可查看samba进程
samba在solaris10 中的一些目录
文件及目录 | 用途说明 | 其它说明 |
/etc/sfw/smb.conf-example | Samba 配置文件示例 | 系统初始自带,是smb.conf的示例文件 |
/etc/sfw/smf.conf | Samba 配置 | 系统缺省没有这个文件,需要从/etc/sfw/smb.conf-example拷贝或者手工创建这个文件 |
/usr/sfw/bin/smb(*) | Samba的常用工具 | smbcacls smbcontrol smbpasswd smbtar smbtree smbsh smbclient smbspool smbstatus smbcquotas |
/var/samba/log | 默认存放samba日志的目录 |
|
/etc/init.d/samba | samba管理命令 | 可以带参数start和stop进行samba服务的开启和停止 |
/usr/sfw/sbin/smbd /usr/sfw/sbin/nmbd | samba的两个可执行文件 | 在用samba管理命令事实上调用这两个可执行文件。 |
|
|
|
二、配置samba 无用户验证方式
1. 创建共享目录
mkdir -m 777 -p /export/home/smbshare
2. 创建samba配置文件
cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf
3. 编辑/etc/sfw/smb.conf 文件
a. 将 security = user 改为 security = share
连接模式,share为共享模式,不需要用户验证。user和server方式需要用户验证
b. . log file = /var/samba/log/log.%m 定义了log的默认路径,可自行定义log路径
c. max log size = 50 定义了log文件默认大小,单位Kb
d. 修改共享文件路径信息
将原有信息
#======== Share Definitions ==========
[homes]
comment = Home Directories
browseable = no
writable = yes
修改为
#===== Share Definitions ============
[homes]
comment = Home Directories
browseable = yes
writable = yes
path = /expore/home/smbshare #共享目录路径
guest ok = yes
e. 启动samba服务
svcadm enable samba
f. 查看samba服务
ps -ef | grep mbd
g. 在windows 上可用IP访问solaris
三、配置user(用户验证)方式
配置成user方式是需要提供用户明和密码进行验证的。这要比share方式的不验证相比较会更安全。其配置方式与配置share方式基本上是一致的。只是在smb.conf文件中的security=share方式变成了security=share
然后添加samba用户,用户可以是已有用户,也可以是即将新建用户
添加用户并重启samba服务后,使用windows访问即会被要求输入用户密码
若要对不同用户的共享目录进行权限限制可按如下配置smb.conf文件
===== ===== /usr/sfw/smb.conf ==========
security = user
[homes]
comment = Home Directories for %S
valid users = %S # 只有所有者能访问该共享
browseable = no # 该共享对其它用户不可见
writable = yes
create mask = 0640 # 创建文件时的权限掩码,权限为rw-r-----
directory mask = 0750 # 创建目录时的权限掩码,权限为 rwx-r-x---
注意:
1. 此处使用root用户作为共享用户,仅为测试所用,实际生产环境或公共用机,应使用其他用户,不可使用root用户。
2. 这里%S通配符可以扩展成实际的共享名。这样root以上是关于Solaris 10 下 Samba 的详细配置步骤和常见问题解决的主要内容,如果未能解决你的问题,请参考以下文章
Solaris 10 下 Samba 的详细配置步骤和常见问题解决
在Sun Unix solaris 下安装Oracle8i 最好能给完整的安装步骤