采用samba配置公司文档服务器实践笔记

发表于:2007-07-04来源:作者:点击数: 标签:
MI LY: 黑体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language:
 

MILY: 黑体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文档服务器管理

1.需求描述

1)      要求最好是运行在LINUX操作系统上(稳定,安全,免费)

2)      安全备份与恢复机制,要求比较方便地对重要数据进行备份与数据恢复(可以接合rsync实现)

3)      有灵活的分类功能:可以手工设置,支持多级分类功能(不同部门分类)

4)      支持多种排序:文档目录中支持时间、大小、作者等多种排序方式

5)      历史纪录功能:能够自动纪录文档更改的历史纪录,可以设置历史纪录的时效,可以恢复历史纪录

6)      文档在不同文件夹拖动的功能:支持文档由一个文件夹通过鼠标简单方便地移动到另一个文件夹

7)      用户分组功能:能够对用户进行简单的分组,以分别对其设置不同的操作权限(不同部门权限不同)

8)      可以方便拷贝到桌面的功能:可以非常方便地将文档从文档服务器上拷贝到本地

9)      文档共享操作功能:对于同一个项目中的文档修改,在加锁的条件,可以允许有多个人同时进行修改;文档可以共享给不同的人员,且可以对共享人员进行修改(设置setid位实现)

10)   有多级管理员功能:每一级别分别设置不同的权限(利用目录权限实现)

11)   文件锁定功能:当管理员对某一文件锁定后,其他任何人都不可以对此文件进行修改,包括其作者在内(不给用户w权限实现)

12)   内容检索功能:可以根据需要对需要的信息进行内容检索(利用windows的搜索网络文件夹功能)

13)   文件名搜索功能:可以输入文件名中的几个关键字便可以找到所需要的文件(利用windows的搜索网络文件夹功能

2.设计原则

针对需求描述内容以及公司实际工作要求,提出了如下设计原则:

1)      针对不同的部门分配不同的目录。

2)      每个部门的主要目录分为三类:public(部门内有可读可写权限,其它部门有只读权限)、project(部门内私有目录,部门内可读可写,其它部门不可读不可写)、home(部门私有目录,该目录下为部门内每位员工的私有目录)。

3)      重要数据定期安全备份原则,只对文档服务器中的重要数据进行备份,其它数据不需要进行备份,这样,当硬盘损坏时,可以恢复重要的数据。其中,每个部门下的:public目录、project目录下的数据属于重要数据。

4)      数据保护原则,在公有目录下建立的文件或目录,只有属主才可以增、删、改,其他只读。(粘滞位实现)

5)      简单易用原则,每个人可以把文档服务器的某些目录映射为本机的网络驱动器,象使用本地硬盘一样方便。

6)      密码保护原则,只有文档服务器的用户才可以用自己的账号和密码去访问文档服务器,其他不可访问;每个员工可以根据需要随时修改自己的文档服务器密码。

7)      系统保护原则,每一个文档服务器上的账号都会对应于操作系统中的一个账号,但用户不可以通过该系统账号远程登入到文档服务器所在操作系统上。

8)      维护管理方便原则,需要不断地完善。

3.部门规划

分别建立了如下部门级目录:业务拓展部门(bd)、商务部门(business组)、行政部门(executive组)、售前部门(ps组)、销售部门(sales组)、售后部门(support组)

1)首先建立这些组的系统用户,然后再添加各组的成员用户。

(注意:成员用户的组id号要和部门用户id号一致,这样他们创建的目录或文件才会属于本部门)

2)修改/etc/group文件,将各成员放到相应的所属组里

#---------------------------------smb group------------------------------------
#sales
sales:x:507:user1,user2,user3

4.配置系统目录结构和权限

文档服务器的数据存储在 /data/ 分区下的files目录下,其中在files目录下划分了“public、smbpub、webpub、vipdata”四个目录。
1) /data/files/vipdata:该目录为需要备份的重要数据,该目录下的数据为最终的数据源,不可以再链接到其它目录下。

例如:

#cd  /data/files/vipdata

#mkdir sales/

#chown -R  sales.sales  sales/

#chmod -R  770  project 允许w权限,必须加粘滞位。

#chmod -R  a+t  project 添加粘滞位,只允许目录和文件的所有者可以删除该文件,其他成员即使有写权限也不允许删除,从而实现了谁建谁删的原则。

#chmod -R  775  public 

#chmod -R  a+t  public 
2) /data/files/smbpub:该目录以部门为单位存放了各个部门的目录信息,每个部门目录下分为“home、project、public”三个目录,其中 home 目录为该部门内成员的个人私有目录;

project 目录为该部门的私有目录,该部门的成员可以在该目录下创建目录与文件(谁建谁改,部门内其他成员只读);

public 目录为该部门的共享目录,该部门的成员可以对该目录的操作权限为可读可写,同时要求谁建谁改,其它部门的成员对该目录有只读权限。
其中,因为每个部门下的 public 目录与 project 目录下的数据属于重要的数据,因为这两个目录属于链接,它们分别链接至 /data/files/vipdata/ 下相应部门的 public 与 project 目录。
/data/files/public:该目录下存放了公司内共享的文档。在该目录下,每个部门维护自己部门目录下的共享文档(可读可写),其它部门的成员可以读这些文档,但不可修改。

例如:

#cd  /data/files/smbpub

#mkdir  -p sales/home

#chown -R sales.sales  sales/

#mv /home/user1  /data/files/smbpub/home/

#ln -s  /data/files/vipdata/sales/project  project

#ln -s  /data/files/vipdata/sales/public   public

 

5.数据备份策略

/data/files/vipdata/目录下的所有文件都需要备份,还要保持权限和属主关系。

6.管理和配置smb服务器

vi /etc/samba/smb.conf

#============================ Share Definitions ==============================

# Samba config file created using SWAT
# from zsx (192.168.0.240)
# Date: 2005/01/05 11:10:27
# Global parameters

[global]
        unix charset = GB2312   

        dos charset = GB2312
        display charset = GB2312    控制windows客户机访问时显示的字体不然会显示乱码
        workgroup = DocumentServer
        server string = Share Files Server
        encrypt passwords = Yes
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*suclearcase/" target="_blank" >ccessfully*
        username map = /etc/samba/smbusers
        unix password sync = Yes
        log file = /var/log/samba/%m.log
        max log size = 0
        read size = 8192000
        socket options = TCP_NODELAY SO_RCVBUF=8192000 SO_SNDBUF=8192000
        domain logons = Yes
        dns proxy = No
        hosts allow = 192.168.0.  192.168.100.  127.0.0.1

[homes]
        comment = Home Directories
        valid users = %S
        write list = @group1
        read only = No
        create mask = 0664
        directory mask = 0775
        browseable = No
[public]
        comment = share for everyone
        path = /data/files/public
        read only = No
        create mask = 0775
        directory mask = 01775
        guest ok = Yes
[sales_public]
        comment = share for sales team
        path = /data/files/smbpub/sales/public
        read only = No
        create mask = 0755
        guest ok = Yes
[sales_project]
        comment = share for sales team project
        path = /data/files/smbpub/sales/project
        read only = No
        create mask = 0750
        directory mask = 0750
        guest ok = Yes

保存退出。建议将/etc/samba目录连接到/data/files/vipdata/下,以便可以将他也备份。
#cd /etc/

#mv samba   /data/files/vipdata/

#ln  -s   /data/files/vipdata/samba  samba

 

#smbadduser  xiaoran:ran.xiao    添加smb用户并设置口令

Adding: xiaoran to /etc/samba/smbpasswd
Added user xiaoran.
----------------------------------------------------------
ENTER password for xiaoran

New SMB password:

 

所有设计和配置完毕,大功告成。

 

 

 

 

 

原文转自:http://www.ltesting.net