Samba共享權限分配


案例推薦:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html

 本文不詳細介紹全部參數,只介紹完成需求的一些參數。

需求:

1,賬號建立:產研部門所有人員,產品、前端、后端、測試;

2,目錄建立:各二級部門分別建立以部門名稱為文件夾的目錄;

3,初步權限管理:各部門成員對本部門目錄有讀寫權限,對其他部門目錄有讀權限;

4,建立共享目錄,所有人有增刪權限

5,部門目錄結構自行定義

 

一、Samba的安裝

 yum install samba.x86_64 samba-client.x86_64  samba-common.x86_64 samba-swat.x86_64 

二、 賬戶創建,用戶組創建,相關目錄創建,目錄的屬主,屬組更改

a.創建每個部門的用戶組

[root@web2 ~]# groupadd ceshi
[root@web2 ~]# groupadd chanpin
[root@web2 ~]# groupadd PHP
[root@web2 ~]# groupadd Android

b.先創建系統用戶,並加入自己的用戶組

[root@web2 ~]# useradd -g chanpin -s /sbin/nologin chanpinadmin
[root@web2 ~]# useradd -g chanpin -s /sbin/nologin chanpinuser
[root@web2 ~]# useradd -g ceshi -s /sbin/nologin ceshiadmin
[root@web2 ~]# useradd -g ceshi -s /sbin/nologin ceshiuser
[root@web2 ~]# useradd -g PHP -s /sbin/nologin phpadmin
[root@web2 ~]# useradd -g PHP -s /sbin/nologin phpuser
[root@web2 ~]# useradd -g Android -s /sbin/nologin androidadmin
[root@web2 ~]# useradd -g Android -s /sbin/nologin androiduser

c.創建samba用戶並給每個用戶設置密碼,要在系統創建完后才可以創建samba用戶 (smbpasswd -a $username命令是用於創建用戶和更改密碼的命令)

[root@web2 ~]# smbpasswd  -a chanpiadmin
New SMB password:
Retype new SMB password:
Added user chanpinuser.
[root@web2 ~]# 

>依次創建每個團隊的用戶

[root@web2 ~]# smbpasswd  -a chanpinuser
[root@web2 ~]# smbpasswd  -a phpadmin
[root@web2 ~]# smbpasswd  -a phpuser
[root@web2 ~]# smbpasswd  -a androidadmin
[root@web2 ~]# smbpasswd  -a androiduser
[root@web2 ~]# smbpasswd  -a ceshiadmin
[root@web2 ~]# smbpasswd  -a ceshiuser

d.創建目錄,更改屬主 

[root@web2 Samba]# mkdir -p /letv/fet/Samba/ ceshi chanpin Android PHP
[root@web2 Samba]# chown androidadmin.Android Android/ [root@web2 Samba]# chown phpadmin.PHP PHP/ [root@web2 Samba]# chown chanpinadmin.chanpin chanpin [root@web2 Samba]# chown ceshiadmin.ceshi ceshi/
[root@web2 Samba]# ll
total 36
drwxr-xr-x 5 androidadmin Android 4096 Jul  6 11:10 Android
drwxr-xr-x 3 ceshiadmin   ceshi   4096 Jul  5 17:59 ceshi
drwxr-xr-x 5 chanpinadmin chanpin 4096 Jul  5 17:47 chanpin
drwxr-xr-x 4 phpadmin     PHP     4096 Jul  5 18:27 PHP

三、更改配置文件,實現權限的分配

[root@web2 fet]# cp /etc/samba/smb.conf /etc/samba/bck_smb.conf
[root@web2 fet]# cd /etc/samba/
[root@web2 samba]# vi smb.conf

里面的全局配置可以保持默認就行,如果自己對性能或者其他的要求可以參考更全面的文章,我這邊沒有需求沒有全局的更改。

#======================= Global Settings =====================================

[global]

# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname

        workgroup = WORKGROUP
        server string = David Samba Server Version %v
        netbios name = DavidSamba
# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m
        max log size = 50
# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = user
        passdb backend = tdbsam


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

#[homes]                                                   
#        comment = Home Directories
#        browseable = no
#        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S
[共享目錄]
        comment = this is share
        path = /letv/fet/Samba/share
        writable = yes
        admin users = @Android,@PHP,@chanpin,@ceshi
        valid users = @Android,@PHP,@chanpin,@ceshi
        create mask = 0777
        directory mask = 0777


[PHP研發部門]
        comment = This is  php samba
        path = /letv/fet/Samba/PHP
        writable = yes
        admin users = phpadmin,@PHP
        valid users = @PHP,@Android,@chanpin,@ceshi
        create mask = 0774
        directory mask = 0775
[Android研發部門]
        comment = This is Android samba
        path = /letv/fet/Samba/Android
        writable = yes
        admin users = androidadmin,@Android
        valid users = @PHP,@Android,@chanpin,@ceshi
        create mask = 0774
        directory mask = 0775
[產品部門]
        comment = This is chanpin samba
        path = /letv/fet/Samba/chanpin
        writable = yes
        admin users = chanpinadmin,@chanpin
        valid users = @PHP,@Android,@chanpin,@ceshi
        create mask = 0774
        directory mask = 0775
[測試部門]
        comment = This is ceshi samba
        path = /letv/fet/Samba/ceshi
        writable = yes
        admin users = ceshiadmin,@ceshi
        valid users = @PHP,@Android,@chanpin,@ceshi
        create mask = 0774
        directory mask = 0775
        directory mask = 0775

  

comment 對這個共享目錄的介紹,可以自定義
path   共享目錄路徑
writable 是否允許寫入,yes/no
admin users 共享目錄的管理員用戶直接填寫,多個用戶或者組需要用","號分隔開,@開頭的表示是分組,”admin users = ceshiadmin,@ceshi“表示管理員包含 ceshiadmin用戶和ceshi組里面的成員.
valid users 允許訪問的用戶
create mask = 0774  Samba用戶在所在目錄創建文件的權限 0774權限算是比較大的了,因為我這邊需要給所有人可以查看打開,所以是-rwxrw-r--
directory mask = 0775 Samba用戶在所在目錄創建文件夾的權限 0775 因為我這邊需要給所有人可以查看打開,文件夾需要有執行的權限,所以是drwxrwxr-x

 

然后就測試

\\192.169.1.100

 

 

 本部門文件可以隨意操作,其他部門如下:

切換賬戶測試的時候,Windows會有samba緩存自動登錄原來的賬戶,需要清理一下

清除方法:

右擊計算機--管理--服務和應用程序--服務--Workstation 重啟服務清除緩存。

頻繁切換賬戶可能會出現短時間內無法訪問的情況,會提示網絡問題導致無法訪問,此時可以換台PC測試或者多等待一下。

(使用 SMB 協議創建並維護客戶端網絡與遠程服務器之間的連接。如果此服務已停止,這些連接將無法使用。如果此服務已禁用,任何明確依賴它的服務將無法啟動。)

 

 

windows10 訪問需要開啟SMB1x協議,默認是關閉的,在控制面板--程序--服務里面配置

 ok完成~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM