键由系统自
动补齐。
二、运行Samba
2.0 检查系统是否已经运行了Samba,我们可以执行:
$ ps -aux |grep smb
如果系统回显类似:
root 2528 0.0 2.9 3264 1924 ? S 17:20 0:00 smbd -D
则表示你的机器已经启动了Samba守护进程。
2.1 启动Samba,执行:
$ /etc/rc.d/init.d/smb start
2.2 重新启动Samba,每次修改/etc/smb.conf文件都需要重新启动Samba才能使修
改生效:
$ /etc/rc.d/init.d/smb restart
2.3 自动运行Samba:
默认地,RedHat和Mandrake安装是不会在每次启动系统时自动启动Samba。您可以
修改/etc/rc.d/目录下的rc.local文件,在该文件最后添加一行:
/etc/rc.d/init.d/smb start
即可在每次系统启动的时候自动运行Samba的守护进程了。
三、配置Samba
尽管Samba从2.0版开始加入SWAT(Samba Web Administrator Tool),支持浏览
器配置,但并不是本文推荐的方式,如果您有兴趣的话,可以自行参阅文档。
Samba的所有配置信息集中在/etc/smb.conf文件中,以“[]”为一段的开始,注
释以“;”号开头。文件开始的[global]段专用于存放一些通用配置,[homes]段
专用于共享Unix/Linux系统用户目录,以后的其他段保存共享信息,段名即共享
名,可以自己定义。
以下所有的修改均需要您以root身份完成。
3.1 快速使用:如果您不考虑用户认证(就像Windows9x一样),您只需要修改两个
参数:
workgroup = 您的工作组名
security = share
然后根据3.3设置共享介绍的方法设置共享目录,您的Samba即可像Windows9x一样
工作了。
3.2 安全配置:本文建议您使用的方式,虽然复杂点,但是安全性高于Windows9
x。这里我们假设有个Windows用户James,他在Windows上用户名是:James,口令
是:111。
3.2.1 修改smb.conf文件:
workgroup = 您的工作组名
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
3.2.2 配置Samba用户的口令文件
3.2.2.1 建立smbpasswd文件:
$ cat /etc/passwd | mksmbpasswd.sh >/etc/smbpasswd
注:只需要运行一次,“|”是管道命令符。
3.2.2.2 为Windows用户增加一个Linux下的用户
$ adduser james
3.2.2.3 增加一个Samba用户
$ smbadduser james:james
3.2.2.4 修改用户的Samba口令
$ smbpasswd james
输入111回车,系统需要你确认,再次输入111即可。
3.3 设置共享:
3.3.1 [homes]段的内容用于系统根据登陆用户的Unix/Linux身份自动共享/home
/username下的内容,建议不要修改。
3.3.2 系统自己已经预建了许多共享内容的模板,但是都用“;”号注释掉了,
比如您将[public]段的注释去掉就可以为3.1的配置方法设置共享了。
3.3.3 您当然也可以自己建一个共享,我们可以这样做:
[web]
comment = My Web Page
path = /www/htdocs/
valid users = james user2 user3
public = no
writable = yes
browseable = yes
printable = no
注:
comment的内容仅仅是说明文字,运行中没有任何影响,你可以在这里写任何你能
看懂的东西;
path指出共享的实际目录,注意你需要共享的目录属性,如果Samba用户所代表的
Unix/Linux用户没有该目录的操作权限,即便共享出来了,他也无法操作;
valid users指定合法的用户,用户名之间用空格分开,如果取消这一行将共享给
所有用户;
public用于区分Samba认证用户和分认证用户的权利;
writable、browseable、printable分别指定该共享项的写、浏览、打印是否许可
。
四、用Samba使用Windows的共享资源
很多网友问到Linux机器读取Windows的共享资源是否能用Samba,Samba当然能够
使用Windows的共享文件,而且很简单。这里我们假设您的网络上还有两台Windo
ws机器,分别是James和Qiushu,James的机器有共享目录\"SHARE\",Qiushu的机器
有共享目录\"CDROM\",口令为\"haha\"。
4.1 查询网络资源:
$ smbclient -L JAMES
$ smbclient -L QIUSHU
系统会显示出网络机器的资源,注意其中的Sharename和Type,在James和Qiushu
的机器应该分别可以看到SHARE和CDROM的Sharename,它们的Type都是Disk。
4.2 使用网络资源
4.2.1 建立挂接点
$ mkdir /mnt/smb
4.2.2 挂接网络资源
$ smbmount //JAMES/SHARE /mnt/smb
或者
$ smbmount //QIUSHU/CDROM /mnt/smb -o password=haha
4.2.3 使用资源
进入/mnt/smb目录,您对这个目录的所有操作都将实现在目标机器上。
4.2.4 取消挂接
$ umount /mnt/smb
五、后记
由于受作者对Samba的认知程度限制,本文对Samba的介绍还是很少,同时也具有
片面性。对于所有本文未提及的内容请参阅相关书籍和man samba的帮助。欢迎高
手指正、交流。
发布人:zeus 来自:http://smms.webhostm