Sun Java System Messaging Server 6.3 管理指南

20.6 共用資料夾作業

本節說明共用資料夾管理員作業:

Procedure指定私人共用資料夾的共用屬性

  1. 私人共用資料夾是由使用者所建立。

    許多郵件用戶端都支援私人共用資料夾的建立。您可以嘗試在 Communications Express 上進行。

  2. 設定私人共用資料夾的共用參數。

    支援下列 configutil 參數:

    store.privatesharedfolders.restrictanyone - 如果啟用 (1),則不允許一般使用者將私人共用資料夾的權限設定為 anyone。預設值:0

    store.privatesharedfolders.restrictdomain - 如果啟用 (1),則不允許一般使用者將共用私人資料夾開放給網域以外的使用者使用。預設值:0

    store.privatesharedfolders.shareflags - 如果為 0,使用者之間無法共用旗標。如果為 1,使用者之間可共用旗標。預設值:0

    store.publicsharedfolders.user - 公用共用資料夾所有者的使用者 ID。通常這只會是 public。預設值:空值 (未設定)

Procedure建立公用共用資料夾

公用資料夾必須由系統管理員建立,因為它們需要存取 LDAP 資料庫和 readership 指令。

  1. 建立名為 public 的 LDAP 使用者項目,做為所有公用資料夾的容器 (請參閱20.5 關於共用資料夾)。

    範例:


    dn: cn=public,ou=people,o=sesta.com,o=ISP
    objectClass: person
    objectClass: organizationalPerson
    objectClass: inetOrgPerson
    objectClass: inetUser
    objectClass: ipUser
    objectClass: inetMailUser
    objectClass: inetLocalMailRecipient
    objectClass: nsManagedPerson
    objectClass: userPresenceProfile
    cn: public
    mail: public@sesta.com
    mailDeliveryOption: mailbox
    mailHost: manatee.siroe.com
    uid: public
    inetUserStatus: active
    mailUserStatus: active
    mailQuota: -1
    mailMsgQuota: 100
                      
  2. 使用 mboxutil 指令行公用程式,在 public 帳號下建立資料夾。

    例如,建立名為 gardening 的公用資料夾:


    mboxutil -c user/public/gardening
  3. 設定資料夾名稱。

    通常這會是 public。這是將資料夾名稱設定為 public 的指令:

    configutil -o store.publicsharedfolders.user —v public

  4. 指定使用者及其對該共用資料夾的存取權限。

    使用 readership 指令指定使用者及其存取權限。例如,下列指令將給予 sesta.com 中的每位使用者對公用資料夾 gardening 的查詢、讀取和發佈的存取權限︰

    readership -s user/public/gardening anyone@sesta.com lrp

    如需有關如何使用 readership 的詳細說明,請參閱20.6.2 設定或變更共用資料夾的存取控制權限

20.6.1 增加具有電子郵件群組的共用資料夾

通常使用 Communications Express 向共用資料夾清單增加使用者,或透過按照上述說明來建立公用的共用資料夾,來建立共用資料夾。但是有時候,使用者可能希望將電子郵件群組 (郵件發行清單) 增加至共用資料夾清單,以便群組中的每個使用者都對該共用資料夾有存取權限。例如,名為 tennis@sesta.com 的群組有 25 個成員,且這些成員已決定建立一個共用資料夾,儲存傳送至此群組位址的所有電子郵件。

Procedure將電子郵件群組增加至共用資料夾

將電子郵件群組增加至共用資料夾需要系統管理員權限。

  1. 建立資料夾。(如果已經建立,則略過此步驟。)

    通常應該由該群組中的某個成員來執行此步驟。如果不是群組成員,您可以使用下列指令來為他們建立資料夾:

    mboxutil -c user/gregk/gardening

    gregk 是共用資料夾所有者的 uidgardening 是共用資料夾的名稱。

  2. 將屬性值對 aclGroupAddr group_name@domain 增加至將具有該群組共用資料夾存取權限的每個成員之使用者項目。

    使用以上範例,將下列屬性值對增加至得到共用資料夾存取權限的每個使用者項目:

    aclGroupAddr: tennis@sesta.com

    請注意,若已使用群組項目中的 memberURL 屬性動態建立群組,則群組成員應已具有此屬性。此屬性的 URL 值如下所示:


    memberURL: ldap:///o=sesta.com??sub?(&(aclGroupAddr=tennis@sesta.com)
    (objectclass=inetmailuser))

    (由於印刷排版原因,範例項目行已經換行。實際項目應顯示在一個實體行上。)

  3. 指定群組及對共用資料夾的存取權限。

    使用 readership 指令來執行此作業。使用以上範例,下列指令向 tennis@sesta.com 成員授予公用資料夾 gardening 的查詢、讀取和郵寄存取權限:

    readership -s user/gregk/tennis tennis@sesta.com lrp

    如需有關如何使用 readership 的詳細說明,請參閱20.6.2 設定或變更共用資料夾的存取控制權限

20.6.2 設定或變更共用資料夾的存取控制權限

使用者可以使用 Communications Express 介面設定或變更共用資料夾的存取控制。管理員可以使用 readership 指令行公用程式設定或變更共用資料夾的存取控制。該指令的格式如下:

readership -s foldername identifier rights_chars

其中 foldername 是您要為其設定權限的公用資料夾的名稱,identifier 是您要為其指定權限的個人或群組,rights_chars 是您要指定的權限。如需每個字元的意義,請參閱表 20–3


備註 –

anyone 是一個特殊的識別碼。anyone 的存取權適用於所有使用者。同樣,anyone@domain 的存取權限可套用至同一網域中的所有使用者。


表 20–3 ACL 權限字元

字元 

說明 

l

查詢 – 使用者可以查看並訂閱共用資料夾。(允許使用的 IMAP 指令:LISTLSUB)

r

讀取 – 使用者可以讀取共用資料夾。(允許使用的 IMAP 指令:從資料夾中 SELECTCHECKFETCHPARTIALSEARCHCOPY)

s

查看 – 指示系統跨階段作業持續查看資訊。(設定 IMAP STORE SEEN 旗標)

w

寫入 – 使用者可以將郵件標記為已讀,並可以刪除郵件。(設定 IMAP STORE 旗標,但不包括 SEENDELETED)

i

插入 – 使用者可以在資料夾之間複製和移動電子郵件。(允許使用的 IMAP 指令:APPENDCOPY 到資料夾中)

p

郵寄 – 使用者可以將郵件傳送至共用資料夾的電子郵件位址。(無需 IMAP 指令) 

c

建立 – 使用者可以建立新的子資料夾。(允許使用的 IMAP 指令:CREATE)

d

刪除 – 使用者可以從共用資料夾中刪除項目。(允許使用的 IMAP 指令:EXPUNGE,設定 STORE DELETED 旗標)

a

管理 – 使用者擁有管理權限。(允許使用的 IMAP 指令:SETACL)

20.6.2.1 範例

若要讓 sesta 網域中的每位使用者都擁有對公用資料夾 golftournament 的查詢、讀取以及標記 (而不是發佈) 電子郵件的存取權限,請發出如下指令:

readership -s User/public/golftournament anyone@sesta lwr

若要將相同存取權限指定給郵件儲存中的每個使用者,請使用如下指令:

readership -s User/public/golftournament anyone lwr

如要為群組指定查詢、讀取、電子郵件標記和寄送權限,請使用以下指令:

readership -s User/public/golftournament group=golf@sesta.com lwrp

如果您要將該資料夾的管理和郵寄權限指定給個人 (jdoe),請使用如下指令:

readership -s User/public/golftournament jdoe@sesta.com lwrpa

若要拒絕個人或群組存取公用資料夾,請在 userid 前面加上破折號。例如,若要拒絕對 jsmith 的查詢、讀取以及寫入權限,請發出如下指令:

readership -s User/public/golftournament -jsmith@sesta.com lwr

若要拒絕個人或群組的存取權限,請在 ACL 權限字元前面加上破折號。例如,若要拒絕授予 jsmith 郵寄權限,請使用如下指令:

readership -s User/public/golftournament jsmith@sesta.com -p


備註 –

使用 uid+folder@domain 位址將郵件發佈至共用資料夾,必須使用 p (發佈) 存取權限與 readership 指令。請參閱20.6.2 設定或變更共用資料夾的存取控制權限


20.6.3 啟用或停用共用資料夾的列示

伺服器在回應 LIST 指令時是否會傳回共用資料夾,取決於配置選項 local.store.sharedfolders 中的設定。將選項設為 off,可加以停用。依預設,啟用該設定 (設定為 on)。

SELECTLSUB 指令不受該選項的影響。LSUB 指令會傳回所有已訂閱的資料夾,包含共用資料夾。使用者可以使用 SELECT 指令來選取他們擁有的或已訂閱的共用資料夾。

20.6.4 設定分散式共用資料夾

通常共用資料夾僅適用於特定郵件儲存中的使用者。但是,Messaging Server 能夠建立可跨多個郵件儲存存取的分散式共用資料夾。也就是說,分散式共用資料夾的存取權可以授予郵件儲存群組中的任何使用者。但是請注意,Web 郵件用戶端 (HTTP 存取用戶端,如 Messenger Express) 不支援遠端共用資料夾存取。使用者可以列出和訂閱資料夾,但無法檢視或改變其中的內容。

分散式共用資料夾要求如下:

您必須設定表 20–4 中所列的配置變數,將遠端郵件儲存 (不含共用資料夾的郵件儲存) 配置為代理伺服器。

表 20–4 用於配置分散式共用資料夾的變數

名稱 

值 

資料格式 

local.service.proxy.serverlist

郵件儲存伺服器清單 

以空格分隔的字串 

local.service.proxy.admin

預設的儲存管理員登入名稱 

字串 

local.service.proxy.adminpass

預設的儲存管理員密碼 

字串 

local.service.proxy.admin.hostname

特定主機的儲存管理員登入名稱 

字串 

local.service.proxy.adminpass.hostname

特定主機的儲存管理員密碼 

字串 

20.6.4.1 設定分散式共用資料夾—範例

圖 20–3 顯示三個郵件儲存伺服器 StoreServer1、StoreServer2 和 StoreServer3 的分散式資料夾範例。

圖 20–3 分散式共用資料夾—範例

本圖顯示分散式共用資料夾的範例。

透過設定表 20–4 中顯示的變數,這些伺服器彼此連線而成為對等代理伺服器郵件儲存。每部伺服器各有其私人共用資料夾 — golf (由 Han 所有)、tennis (由 Kat 所有) 和 hurling (由 Luke 所有)。此外,還有兩個分別名為 press_releasesAnnouncements 的公用共用資料夾。三台伺服器中任何一台上的使用者都可以存取這三個共用資料夾中的任何一個。圖 20–2 顯示 Ed 的共用資料夾清單。以下是該配置中每台伺服器的 ACL 範例。


$ StoreServer1 :> imcheck -d lright.db
Ed: user/Han/golf 
Ian: user/Han/golf 
anyone: user/public/press_releases

            

$ StoreServer2 :> imcheck -d lright.db
Jan: user/Kat/tennis
Ann: user/Kat/tennis
anyone: user/public+Announcements user/public+press_releases

            

$ StoreServer3 :> imcheck -d lright.db
Tuck: user/Ian/hurling
Ed: user/Ian/hurling 
Jac: user/Ian/hurling 
anyone: user/public/Announcements

            

20.6.5 監視與維護共用資料夾資料

readership 指令行公用程式可讓您監視和維護保留在 folder.dbperuser.dblright.db 檔案中的共用資料夾資料。folder.db 記錄了每個擁有 ACL 副本的資料夾。peruser.db 中對於每個使用者和電子信箱均具有一個項目,列出各種旗標設定和使用者上次存取資料夾的日期。lright.db 中包含所有使用者及他們有權查詢的共用資料夾的清單。

readership 指令行公用程式具有以下選項:

表 20–5 readership 選項

選項 

說明 

-d days

為每個共用資料夾傳回一個報告,其中包含在指定天數內選取該資料夾的使用者數目。 

-p months

peruser.db 中移除在指定月數內未曾選取共用資料夾的使用者的資料。

-l

列出 lright.db 中的資料。

-s folder_identifier_rights

為指定資料夾設定存取權。它會同時更新 lright.dbfolder.db

使用各種選項,您可以執行以下功能:

20.6.5.1 監視共用資料夾的使用

如果想知道有多少使用者正在存取共用資料夾,請使用以下指令:

readership -d days

其中 days 是要檢查的天數。請注意,此選項會傳回使用中的使用者之數目,而不是使用中的使用者之清單。

範例:若要找出最近 30 天內選用過共用資料夾的使用者數目,請使用以下指令:

readership -d 30

20.6.5.2 列出使用者及其共用資料夾

若要列出使用者及其有存取權的共用資料夾,請使用以下指令:

imcheck -d lright.db

輸出範例:

$ imcheck -d lright.db
group=lee-staff@siroe.com: user/user2/lee-staff
richb: user/golf user/user10/Drafts user/user2/lee-staff user/user10/Trash
han1: user/public+hurling@siroe.com user/golf
gregk: user/public+hurling@siroe.com user/heaving user/tennis

20.6.5.3 移除未使用的使用者

如果您要移除未使用的使用者 (在指定的一段時間內沒有存取共用資料夾的使用者) 請使用以下指令:

readership -p months

其中 months 是要檢查的月數。

範例:移除在過去六個月中沒有存取共用資料夾的使用者:

readership -p 6

20.6.5.4 設定存取權

您可以為新的公用資料夾指定存取權,也可以變更目前公用資料夾的存取權。

如需如何使用此指令設定存取權限的範例,請參閱20.6.2 設定或變更共用資料夾的存取控制權限