Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174036
  • 博文数量: 65
  • 博客积分: 1790
  • 博客等级: 上尉
  • 技术积分: 460
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 23:51
文章分类
文章存档

2012年(8)

2011年(38)

2010年(19)

分类:

2010-09-24 12:03:08

在Linux或者Unix环境下,如果想要实现与Windows系统的文件共享,我们需要安装一个叫做Samba的软件,它同Linux系统一下,同样是 免费的开源软件,目前版本是3.0。下面笔者将通过一个实例来讲解Samba软件的安装与简单的应用。


一、安装

1.准备工作

操作系统是RedHat AS 4
下载samba-3.0.0.tar.gz
samba文件放置的目录为/home/user/samba-3.0.0.tar.gz

2.编译、安装
首先进入/home/user目录下,执行解包指令
[root@user]# tar zxvf samba-3.0.0.tar.gz
然后进入samba-3.0.0目录下,在这个目录中有一个whatsnew.txt的文件,这个文件记录了samba3.0.0
然后直接进入source目录下,samba在配置的时候提供了很多的参数,我们一般用到的就是
--with-smbmount
--prefix=
然后进行编译
[root@user]# ./configure --with-smbmount --prefix=/usr/local/samba
执行make指令
[root@linux user]# make
这样就可以创建二进制程序和手册页了,然后再执行make install
[root@linux user]# make install
这样就将安装文件安装完了

二、配置实例:

首先: 做一个共享目录public ,使匿名用户可读,可写。
第一步 编辑samba配置文件 /etc/samba/smb.conf

    [global] 全局配置
workgroup = MYHOME     ---- 指定工作组
server string = File Server ---- 服务器的说明 
security = share   ---- 安全级别: 共分四种
1.share (任何用户都不需要密码,直接可以访问)
2.user   要提供用户名和密码才能访问
3.server 将用户和密码提交到另一服务器验证,如果递交失败,就 退到user安全级。 要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。

[public]              
comment = Public Stuff        
path = /home/public        
public = yes                
browseable = yes        
writeable = yes


常用参数:
comment :         目录说明
path :             目录路径
public             开放共享 默认为no , 如果=yes 表示无需身份验证
browseable:       显示共享名称。
valid users:       允许列表中的用户访问
read only:         默认为yes,共享目录只读 。
write able:         write able =no 与read only = yes 一样的效果
wire list:           如果前面只读,只有在此里面的用户才有写的权利
creat mask:       指定在共享目录里面建立文件的权限, 权限最高只能为 766
directory mask:   指定建立目录的权限
force user:         指定存取的用户张号
force group:     指定用户存取组

然后 建立共享目录,并设定目录的权限
# mkdir /home/public
# chmod 777 /home/public

实例:公司有三个部门分别是: 业务 财务 经理
每个部门假设有2个人员,分别为 yewu01,yewu02 caiwu01,caiwu02 jingli01 jingli02
1   每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,
而其他人不能看到你的宿主目录。
2   建立一个caiwu 的文件夹, 要求对财务组和领导组的可看到, 只有caiwu01有写入的权限 ,   其他的不能访问
3   建立一个yewu的文件夹, 要求对业务组可读写, 经理组的可查看.
4   建立一个公司文件共享目录, 要求全部人可查看, 但每个人只能删除自己的文件, 不能删除别人。

第一步 先建立用户的帐号与所属工作组, 建立对应的目录并给目录777的权限
# groupadd caiwu
# groupadd yewu
# groupadd jinli
# useradd caiwu01 -g caiwu
# useradd caiwu02 -g caiwu
# userdel yewu01 -g yewu
# useradd yewu01 -g yewu
# useradd yewu02 -g yewu
# useradd jinli01 -g jinli
# useradd jinli02 -g jinli
# mkdir -p /home/samba/caiwu
# mkdir -p /home/samba/yewu
# mkdir -p /home/samba/public
# chmod 777 -R /home/samba 这 一句是非常关键的一句话,实际上在Fedora Linux8中只用此设置就已经开始正常工作了
这里给777的权限,避免后面的因为权限而产生的麻烦.
# 使用smbpasswd -a caiwu01(caiwu02...)将6个用户加到samba用户中.

第二步 设定samba配置文件.
一般主要修改下面几个选项就可以了
#==============Global Settings===========================
[global]
workgroup = MYHOME
hosts allow = 192.168.1.   (安全设定允许访问的网段, 注释掉意思不加限制允许任意网络访问)
security = user
#============ Share Definitions===========================
[homes]
comment = Home Directories
browseable = no
writable = yes
上面是设定每个用户的宿主目录, 一般samba是设定好的,无需更改.
[caiwu]
comment = caiwu directory
path = /home/samba/caiwu
public = no
write list = caiwu01
valid users = @caiwu,@jinli

            [yewu]
comment = yewu directory
path = /home/samba/yewu
public = no
write list = @yewu
valid users = @jinli

            [public]
comment = Public Stuff
path = /home/samba/public
public = yes
browseable = yes
writeable = yes

完成后记得重起samba
# service smb restart

第三步 设定public的权限, 因为samba的不能做到每个人只能删除自己的文件, 不能删除别人的功能,linux设置目录Sticky bit权限. 目录设定了Sticky的权限,在这个目录下的文件只有root与文件的所有者才能删除, 这样可以实现我们上面第四个要求.
# chmod 1777 /home/samba/public

三、测试
用windows或samba client测试你所做的是否正确.

转载http://hi.baidu.com/alfredmail/blog/item/db792a469ede9c056a63e5e4.html

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