[教学]samba基础参考(一步一个脚印)

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
angelus
帖子: 445
注册时间: 2007-08-27 17:31

[教学]samba基础参考(一步一个脚印)

#1

帖子 angelus » 2008-07-25 11:25

对与linux与win的共享来说,samba的简单易用与打印共享是ftp无法取代的,这篇文章简单介绍samba的基础和一些

需要注意的问题
,对与linux与linux共享,使用samba并不是明智的选择,还有比smb更好的NFS(Network File System)只是NFS的安全问题比较突出

初次接触samba,可能会因为apt-get install samba默认安装的配置文件(/etc/samba/smb.conf)苦恼,
因为里边太乱了,其实大可不必去理会它,与其修改它不如我们自己重新建立
sudo mv /etc/samba/smb.conf /etc/samba/smb2.conf
sudo touch /etc/samba/smb.conf
上边两句意思是把原来的配置文件改名,然后从新建立smb.conf
新的开始,要比收拾一个烂摊子更加容易,下来我们简单建立一个samba的配置框架
sudo vim /etc/samba/smb.conf

#smb.conf
[global]

[homes]

[printers]

[sharename]

这就是smb的框架,对的,你没看错,它就是smb.conf的骨架,下边我们只要丰富骨架,配上血肉就是个漂亮的姑娘了,这里需要讲

解的是smb.conf文件是由3个标准节与若干个用户自定义共享节组成
[global]节下定义全局的设置
[homes]节下定义用户的目录共享(比较特殊,后边会讲解)
[printers]节下定义有关打印参数
[sharename]可以有多个这种不同名字的节,意思是具体的定义共享那个目录

下边我们丰富下[global]节
在[global]节下有这些重要的参数
----------------------------------------------------------------------------------------------------------------
[global]
workgroup = smb #定义工作组的名称,可以随便写,在win下会显示出自己写的工作组的名称
server string = smb server #对服务器的描述,自己随便写,会在win下显示
netbios name =mysmb #smb的netbios名,可以自己写,但最好写本机器的名字
client code page = 936 #客户端的字符编码
socket address=0.0.0.0 #smb监听的ip,双网卡最好写上,不然会把端口开在两个网卡上
security=share/user/server/domain #4中安全级别,我们只关心share/user两个级别
#
share #用户不需要帐号和密码就可以登陆samba服务器
user #由samba服务器提供检查帐号和口令
#
smb passwd file=/etc/samba/smbpasswd #这个非常重要
#
当security=user的时候,意味着smb必须自己提供帐号和密码的检查,这时候就必须配置smb passwd file=/etc/samba/smbpasswd

文件
默认是不建立smbpasswd文件的,需要自己建立,只要当使用sudo smbpasswd -a xxx命令时候,才会在smbpasswd文件中出现自己定

义的用户密码,这在后边会详细讲解
#
log file=/var/log.samba/%m.log #日志文件,%m代表设置的netblos名
max log size=100 #日志文件最大尺寸(KB)
deadtime=10 #客户的超时时间,10分钟无操作就断开
keepalive=60 #60秒发送一次包,确认客户端工作是否正常
max open files=1000 #同一客户最多能打开的文件数目
socket options=TCP_NODELAY #这里有三个选择,我们只选择TCP这个
-------------------------------------------------------------------------------------------------------------------
上边就是[global]节下重要的一些参数,可以按自己需要选择,完成这些,基本像个女人了,不过也太恐龙了吧,要脸蛋没脸蛋,要

胸没胸,要屁股没屁股,基本算三无产品,残念。。。。。

改造恐龙计划正式开始。。。
[homes]节
--------------------------------------------------------
[homes]
comment =home directories #描述文字
browseable=no #不可以被浏览,(就是不能看到)
writable=yes #可以写
valid users=%S #可以使用的用户,%S代表当前服务名
create mode=0664 #创建文件时候的权限,用8进制的4位数表示权限
----------------------------------------------------------
上边就是标准的[homes]节定义,这节比较特殊点,大家了解下,[homes]节存在的意义就是
当客户机发出服务请求时,在smb.conf文件的其它部分查找特定内容的服务。如果没有发现这些服务,并且提供了homes段时,那么就搜索密码文件/etc/samba/smbpasswd得到用户的Home目录。通过Homes段,Samba可以得到用户的Home目录并使之共享

[printers]有关打印的节,这节比较复杂,主要是牵扯的有点多,相信新手不太关心这个,留后边说

[sharename]节,这节是我自己起的名字,前边三节都是标准节,名字是固定的,不可重复的
这节是具体定义共享那些目录,与有关目录的控制权限
如过想共享/tmp/samba目录,就把[sharename]换成[samba],可以自己起名字,在win下显示的文件夹就是[samba]节的名字
如果还想同时共享/home/ftp目录,就在[samba]节后边重新写一个节[ftp]
-------------------------------------------------------------
[samba]
comment=samba #描述
path=/tmp/samba #共享路径
writable=yes #是否可写
browseable=yes #是否可以看到
available=yes #是否可用
read only=yes #是否只可读
public=yes #是否允许guest用户访问
guest account=xxx #guest用户使用的帐号
guest ok =yes #允许使用guest
guest only=yes #是否只允许guest
read list =xxx,@xxx #可以读的用户或组列表
write list=xxx,@xxx #可以写的用户或组列表
valid users=xxx,@xxx #可以使用服务的用户或组列表
invalid users=xxx,@xxx #不可以使用服务的用户或组列表
----------------------------------------------------------
上边有些参数是冲突的,这里只是罗列出来,提供参考的

到这里除了打印以外,基本上骨架和血肉的介绍已经结束了,下边说下,配置中经常会碰到的问题

服务端问题:
------------------------
一: 配置不需要帐号密码的smb共享
把全局参数中有关安全等级的参数security=share就可以实现不需要帐户密码就可以使用
当然,也需要在具体的共享文件中不要加valid users参数,不然在访问这个目录时候就需要帐号密码

二:配置为需要帐号密码的smb共享
修改sercurity=user后还需要smb passwd file=/etc/samba/smbpasswd参数,然后在建立smbpasswd文件
先添加一个主目录为/home/ftp的不可登陆用户tom可以使用命令
sudo useradd -s /sbin/nologin -d /home/ftp/ tom
然后设定密码, sudo passwd tom
再设定smb专用密码, sudo smbpasswd -a tom
做完上边的步骤,就会在/etc/samba/smbpasswd中看到添加的用户,下边,就可以使用tom用户登陆了
注意,必须使用 sudo smbpasswd -a tom 后用户才会被添加到smbpasswd中,不然不可以使用

三:共享目录可写,与不能被删除
当在共享节下设置writable=yes 后,还必须让共享的目录有被写入的权限,才能写入和删除,
大多情况只能写入而不可以被删除,就需要自己设置目录的特殊权限,sticky-bit权限,具体在论坛有个精华帖介绍


客户端问题:
--------------------------
一:不能使用网上邻居
建议把防火墙关掉试下,然后检查tcp-ip协议中,ip和服务器的ip是否在一个网段内,ip协议中高级里是否开启把netbios协议绑定在tcp-ip协议上

二:网上邻居记录用户密码问题
在开始-运行中输入 net use /d * 按提示输入yes
就可以清除记录


未完待叙。。。。。
上次由 angelus 在 2008-09-05 21:08,总共编辑 1 次。
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
0910
帖子: 78
注册时间: 2006-07-28 20:21
联系:

#2

帖子 0910 » 2008-07-25 16:33

绝对经典
shadowc
帖子: 15
注册时间: 2008-06-05 16:02

#3

帖子 shadowc » 2008-07-31 9:23

很好,比较简单易懂,不过就是未完待续。。。这个。。。。
期待下文
angelus
帖子: 445
注册时间: 2007-08-27 17:31

#4

帖子 angelus » 2008-07-31 10:32

感谢大家支持!
有时间会完善下的,这些天没时间,要建立人物模型!
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
pc10
帖子: 22
注册时间: 2007-06-26 19:02

#5

帖子 pc10 » 2008-08-02 14:45

写得精彩
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#6

帖子 xiooli » 2008-08-02 15:26

问下 ,就是在nautilus上还可以设共享,那个与直接在smb.conf中配置共享文件夹有什么不同啊?它的信息都记录在哪儿的呀?
angelus
帖子: 445
注册时间: 2007-08-27 17:31

#7

帖子 angelus » 2008-08-04 22:16

很少用桌面的共享,想用也没的用,终端界面
两个的区别就是一个是摆摊的,一个商店
两个运行原理应该都是smb协议,只是对SMB函数的不同应用,你可以理解为不同前端程序
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
angelus
帖子: 445
注册时间: 2007-08-27 17:31

#8

帖子 angelus » 2008-08-11 21:39

新手如果能看下,将减少许多初学的问题
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
DoYouHike
帖子: 1
注册时间: 2008-08-20 15:11

#9

帖子 DoYouHike » 2008-08-20 15:14

太棒了!
Marvelous job, man.
angelus
帖子: 445
注册时间: 2007-08-27 17:31

Re: [教学]samba基础参考(一步一个脚印)

#10

帖子 angelus » 2008-10-20 17:32

好长时间没理会,沉了
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
huahuanyu
帖子: 15
注册时间: 2008-10-14 23:01

Re: [教学]samba基础参考(一步一个脚印)

#11

帖子 huahuanyu » 2008-11-19 16:57

确实 经典 , 我这几天就是在搞这个 samba
搞了 2 天 还是没搞出个所以来 。


恩 , 很有用!
Thanks!
eqchenbo
帖子: 7
注册时间: 2008-04-02 11:27

Re: [教学]samba基础参考(一步一个脚印)

#12

帖子 eqchenbo » 2008-11-24 16:06

:em11 :em11 佩服.写得很好哦
头像
clangzi
帖子: 75
注册时间: 2008-04-21 15:44

Re: [教学]samba基础参考(一步一个脚印)

#13

帖子 clangzi » 2008-12-04 22:49

佩服 绝对好东西
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: [教学]samba基础参考(一步一个脚印)

#14

帖子 Jarson » 2009-06-18 17:04

写得太棒了,期待LZ继续完成剩余部分 :em11
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: [教学]samba基础参考(一步一个脚印)

#15

帖子 wangdu2002 » 2009-06-18 17:06

写得不错,一定要支持,要顶 :em11
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
回复