環境:
。CentOS 5.6 x64
。Samba 3.x

摸擬:
。兩個使用者(cross,cross2),可以讀寫自已的家目錄
。cross  能讀寫 cross2 的家目錄
。cross2 只能讀 cross 的家目錄
。多一個 /data 目錄,可以給cross2讀而已,cross可以讀寫

先新增這兩個user,並把他們放到同一個群組裡去

groupadd ssorc
useradd -G ssorc cross -s /sbin/nologin
useradd -G ssorc cross2 -s /sbin/nologin

新增帳號後的權限狀態

ls -l /home
drwx—— 4 cross ssorc 4096  7月  2 18:24 /home/cross
drwx—— 4 cross2 ssorc 4096  7月  2 18:24 /home/cross2

# id cross
uid=500(cross) gid=503(ssorc) groups=503(ssorc)
# id cross2
uid=501(cross2) gid=503(ssorc) groups=503(ssorc)

將 /data 編入ssorc群組裡,權限為 2770

chgrp ssorc /data
chmod 2770 /data

新增帳號,這是給samba用的 (因為它就是這麼搭配,一定要先有系統帳號,再加samba帳號)

pdbedit -a -u cross
pdbedit -a -u cross2

pdbedit 也可以查看帳戶的資訊 (pdbedit 是新版samba用來管理帳號的程式,用passdb backend = tdbsam時最好用pdbedit新增刪除修改吧)

pdbedit -L -v cross

vi /etc/samba/smb.conf

[global]
        ; (以上省略)
        security = user  ; 非share,也就一定要有帳號密碼才能存取
        passdb backend = tdbsam

; 這個達成摸擬的第一點
[homes]    ; 各使用者的家目錄,比如說 : /home/cross
        comment = Home Directories
        browseable = no
        writable = yes
        create mode    = 0660
        directory mode = 0770

; 這個達成摸擬的第四點,cross 能讀寫 /data
[data]    ; 在網芳看到的名稱
        comment = cross's data ; 說明
        path = /data  ; 分享路徑
        ;browseable = yes ; 可被它人看到data這個名稱,但看不到內容,除非它是在允許的群組裡面
        writable = yes  ; 可以被寫入
        create mode    = 0660 ; 檔案建立的屬性不給others,這樣子就可以限制在同一群組
        directory mode = 0770 ; 目錄建立的屬性不給others
        valid users = cross ; 可寫入權限的有誰

; 這個達成摸擬的第四點,cross2 只能讀 /data
[data_ro]
        comment = cross's data
        path = /data
        browseable = yes
        writable = no  ; 不可寫入
        valid users = @ssorc

; 這個達成摸擬的第二點,cross 可讀寫 cross2 的家目錄,前提要 chmod 770 /home/triby
[cross2_rw]
        comment = cross2's data
        path = /home/cross2
        browseable = yes
        writable = yes
        create mode    = 0660
        directory mode = 0770
        valid users = cross

; 這個達成摸擬的第二點,cross2 只可讀 cross 的家目錄,前提要 chmod 770 /home/cross
; 如下的設定會讓 cross2 會看到 cross 及 cross_ro 目錄,
; cross_ro 確定唯讀,但 cross 是可讀寫的,
; 所以還要 chmod 750 /home/cross
[cross_ro]
        comment = cross's data
        path = /home/cross
        browseable = yes
        writable = no
        valid users = @ssorc

最後修改日期: 2011 年 07 月 02 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。