1. 程式人生 > >Samba共享許可權分配

Samba共享許可權分配

https://www.cnblogs.com/liuquan/p/5644760.html

案例推薦: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.建立每個部門的使用者組

?
1 2 3 4 [[email protected] ~]# groupadd ceshi [[email protected] ~]# groupadd chanpin [[email protected] ~]# groupadd PHP [[email protected] ~]# groupadd Android

b.先建立系統使用者,並加入自己的使用者組

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

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

?
1 2 3 4 5 [[email protected] ~]# smbpasswd  -a chanpiadmin New SMB password: Retype new SMB password: Added user chanpinuser. [[email protected] ~]#

>依次建立每個團隊的使用者

?
1 2 3 4 5 6 7 [[email protected] ~]# smbpasswd  -a chanpinuser [[email protected] ~]# smbpasswd  -a phpadmin [[email protected] ~]# smbpasswd  -a phpuser [[email protected] ~]# smbpasswd  -a androidadmin [[email protected] ~]# smbpasswd  -a androiduser [[email protected] ~]# smbpasswd  -a ceshiadmin [[email protected] ~]# smbpasswd  -a ceshiuser

d.建立目錄,更改屬主 

?
1 2 3 4 [[email protected] Samba]# mkdir -p /letv/fet/Samba/ ceshi chanpin Android PHP<br>[[email protected] Samba]# chown androidadmin.Android Android/ [[email protected] Samba]# chown phpadmin.PHP PHP/ [[email protected] Samba]# chown chanpinadmin.chanpin chanpin [[email protected] Samba]# chown ceshiadmin.ceshi ceshi/
?
1 2 3 4 5 6 [[email protected] 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

三、更改配置檔案,實現許可權的分配

[[email protected] fet]# cp /etc/samba/smb.conf /etc/samba/bck_smb.conf
[[email protected] fet]# cd /etc/samba/
[[email protected] samba]# vi smb.conf

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 #======================= 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 協議建立並維護客戶端網路與遠端伺服器之間的連線。如果此服務已停止,這些連線將無法使用。如果此服務已禁用,任何明確依賴它的服務將無法啟動。)

 

 

 ok完成~