iT邦幫忙

0

File Server 分享夾問題

收到一個需求說要建一個分享資料夾
結構如下
xx部共用--99年--(1-12)月--user (40個user)
也就是說進到xx部共用後會看到年份
進到各年份後會看到月份(12個月)
進到各月份後會看到各個user的資料夾(有40個user)
基本上年份跟月份不能讓user 更動
各月份內的user 資料夾只有該user可以修改其他user不能讀取
但是該user主管可以讀取
這樣我每年會有12x40=480個資料夾要個別手動設定權限
而且該單位user流動率高
常常是2-3個月就走人
頭有點痛啊
有什麼建議嗎

我試過
xx部共用--user (40個user)--99年--(1-12)月
這樣給他們

他們說不行

10
sailsolitary
iT邦研究生 2 級 ‧ 2010-08-25 09:42:51
最佳解答

aesop提到:
r 資料夾只有該user可以修改其他user不能讀取

弄個批次檔, 自動產生設定權限就可以了, 這樣的資料夾也不算多啊~

部門、年份、月份, 這應該還好, 手動一下就搞定了, 除非部門很多, 重點應該是落在使用者資料夾及權限吧...

準備資料
1.使用者清單一份, 建議直接用帳號會比較方便
2.批次檔一支

準備工作
建立好「部門、年份、月份」資料夾, 並設定權限, 只留下 Administrator 及主管的帳號可以修改」, 其它的帳號都移掉, 並套用到子資料夾.

批次檔內容

<pre class="c" name="code">
@Echo Off
For /F %%n in (.\UserNameList.txt) do (
MkDir %%n & Cacls .\%%n /E /G %%n:F
)

使用方式
將使用者帳號清單, 存檔成 UserNameList.txt 跟批次檔放在月份的資料夾下, 執行批次檔就會自己產生 UserNameList 清單中的資料夾名稱, 並設定資料夾名稱相同的帳號才有修改的權限.

aesop iT邦研究生 4 級 ‧ 2010-08-25 17:03:34 檢舉

弄個批次檔, 自動產生設定權限就可以了, 這樣的資料夾也不算多啊~

超讚的
我把UserNameList.txt路徑稍微改一下超好用的

8
蟹老闆
iT邦大師 1 級 ‧ 2010-08-25 15:00:13

用群組會不會好些?
資料夾以群組做權限設定,當某人離職後將新進人員加入該群組。

aesop iT邦研究生 4 級 ‧ 2010-08-25 17:07:04 檢舉

用群組會不會好些?

有點不懂
因為最裡面層的user xx資料夾 只有user xx能修改與user xx的主管能讀取
如果您指的是 xx部共用 99年 跟 (1-12)月這些資料夾
我是用群組去設定的沒錯

4
raytracy
iT邦大神 1 級 ‧ 2010-08-25 18:43:31

唉....論語有寫: 工欲善其事, 必先利其器....

買一台具備快照(Snapshot)功能的 NAS (或是用一台 SAN 前面加個 Server 當 Gateway 也可以), 把你要的目錄架構開好, 就讓使用者一直存檔案進去...

你只需要設定: 每個月一號, NAS 自動做一份快照. 12 個月只需要 12 份快照 (還不用占空間喔), 想要從以前的月份拿資料, 把那個月的快照 mount/export 出來, 就可以拿取.....

這樣空間又節省 (快照之間只存差異資料), 又不用一直開新的目錄 (只需要開一次目錄, 以後就一直存下去)....

你要做的, 只是挑一台功能強大的 NAS, 透過介面去管理歷史快照就好了.....
(現在 NAS 的快照都可以做到 255 個, 每年用掉 12 個, 也夠你用超過 20 年...)

看更多先前的回應...收起先前的回應...
chang0206 iT邦新手 1 級 ‧ 2010-08-26 09:14:45 檢舉

呃,恕我愚昧,我真看不出,他要的功能,跟你提的snapshot 有什麼關連?

sailsolitary iT邦研究生 2 級 ‧ 2010-08-26 10:35:46 檢舉

感覺是件好東西 0...0 有 freesource 的嗎..?

raytracy iT邦大神 1 級 ‧ 2010-08-27 03:03:25 檢舉

chang0206提到:
呃,恕我愚昧,我真看不出,他要的功能,跟你提的snapshot 有什麼關連?

沒關係, 絕大部分的人都不會想到可以拿 Snapshot 來這樣用...我們重新回顧一下...

樓主的關鍵問題在於:
他每個月都要重建一次所有的子目錄架構, 並且去設定權限, 數量龐大, 工作繁重.

我們這樣來解決:

  1. 樓主只需依照「使用者別」來建立一次子目錄, 不要再去建立「年/月份別」子目錄
  2. 首月開始, 讓使用者開始存放資料到自己的資料夾內.
  3. 次月一開始時, 立刻命令系統建立「快照」(Snapshot), 假設快照名稱是 S1.
  4. 此時 S1 的內容 = 上個月全部使用者所存放的資料
  5. 而使用者繼續使用原來的子目錄, 去更新他們的資料. (可視需要先清空所有資料夾)
  6. 所以此時所有目錄中, 存放的是第二個月的資料.
  7. 當次次月一開始, 立刻命令系統建立「快照」S2.
  8. 此時 S1 的內容 = 上個月(第二個月)全部使用者所存放的資料
  9. 重複步驟 5~8, 於是每個月都會有一份快照保存下來: S1, S2, S3, S4, S5....
  10. 每一份快照裡面, 都只會有當月份的資料, 以及完整的子目錄架構和權限設定
  11. 若需要調閱任何一個月份的資料, 只要把該月份的快照 (S?) 掛上來成為一個磁碟機即可存取.
  12. 在每個月產生快照的過程中 (步驟 5~8), 完全不需要為了新的月份, 重新建立全新的子目錄架構和權限, 只要繼續沿用上個月所留下來的目錄架構和權限即可.
  13. 更棒的是, 每一份快照都不需要耗用完整的儲存容量, 因為快照只會存差異資料, 如果差異很少的話, 占用的容量就很少. 所以, 很可能只有首月的快照 S1 最占空間 (假設 100GB), 但接下來的快照 S2, S3, S4...都只要儲存跟前一個月份快照資料之間的差異即可 (可能只有 700MB, 50MB, 2GB...看當月實際的產出量而定)
raytracy iT邦大神 1 級 ‧ 2010-08-27 03:09:37 檢舉

sailsolitary提到:
感覺是件好東西 0...0 有 freesource 的嗎..?

可以找找 OpenFiler 或是 FreeNAS....不過, 我不確定他們的快照數量是否夠用?

此外, 使用 Linux based 的 NAS, 如果沒有特別去修改過快照程式碼的話, 建立快照會拖慢系統的速度, 每一份快照最多可以降低 50% 左右的效能.

我還是建議: 在生產線上最好使用廠製的企業級 NAS 或 SAN, 它們的快照效能會比 Linux-based OpenSource 好很多. 可以試試例如: NetApp, EMC, HP LeftHand系列, IBM N-Series系列, Dell EqualLogic系列, Sun StorageTek系列...

raytracy iT邦大神 1 級 ‧ 2010-08-27 03:11:45 檢舉
  1. 此時 S1的內容 = 上個月(第二個月)全部使用者所存放的資料

更正: 上面的 S1 應該是 S2

Copy/Paste 太高興了.....

我要發表回答

立即登入回答