Samba服務器配置案例

  1、項目背景html

  某公司有system、develop、productdesign和test等4個小組,我的辦公機操做系統爲Windows 2000/XP/2003,少數開發人員採用Linux操做系統,服務器操做系統爲RHEL 4,須要設計一套創建再RHEL 4之上的安全文件共享方案。每一個用戶都有本身的網絡磁盤,develop組到test組有共用的網絡硬盤,全部用戶(包括匿名用戶)有一個只讀共享資料庫;全部用戶(包括匿名用戶)要有一個存放臨時文件的文件夾。ios

 

  項目目標:shell

  • System組具備管理全部Samba空間的權限。
  • 各部門的私有空間:各小組擁有本身的空間,除了小組成員及system組有權限之外,其餘用戶不可訪問(包括列表、讀和寫)。
  • 資料庫:全部用戶(包括匿名用戶)都具備讀權限而不具備寫入數據的權限。
  • Develop組與test組的共享空間,develop組與test組以外的用戶不能訪問。
  • 公共臨時空間:讓全部用戶能夠讀取、寫入、刪除。

2、具體配置過程安全

P.S. 服務端系統:CentOS-6.6(2.6.32-754.11.1.el6.x86_64)、客戶端系統:Windows10(1803)。服務器

         1.安裝Samba程序及相關依賴包:網絡

1 [root@Fish ~]# yum -y install samba samba-client samba-common

         2.查看Samba程序及相關依賴是否正確安裝:url

1 [root@Fish ~]# rpm -qa | grep samba 2 samba-winbind-3.6.23-51.el6.x86_64 3 samba-common-3.6.23-51.el6.x86_64 4 samba-client-3.6.23-51.el6.x86_64 5 samba-winbind-clients-3.6.23-51.el6.x86_64 6 samba-3.6.23-51.el6.x86_64

         3.建立共享資源相關目錄:spa

1 [root@Fish ~]# cd /usr/share/
2 [root@Fish share]# mkdir Samba-Share 3 [root@Fish share]# cd Samba-Share/
4 [root@Fish Samba-Share]# mkdir develop productdesign test library develop_testrw temp

         各目錄說明以下:操作系統

/usr/share/Samba-Share:system小組的主目錄,負責管理其下全部目錄。.net

/usr/share/Samba-Share/develop:develop小組的主目錄,除了小組自己和system小組以外,其餘小組都是不可讀不可寫。

/usr/share/Samba-Share/productdesign:productdesign小組的主目錄,除了小組自己和system小組之外,其餘小組都是不可讀不可寫。

/usr/share/Samba-Share/test:test小組的主目錄,除了小組自己和system小組之外,其餘小組都是不可讀不可寫。

/usr/share/Samba-Share/library:資料庫主目錄,全部小組只讀(system小組有權限寫入)。

/usr/share/Samba-Share/develop_testrw:develop小組和test小組的共享空間,develop小組與test小組以外的小組不能訪問。

/usr/share/Samba-Share/temp:全部小組的主目錄(包括匿名用戶),全部小組可讀可寫。

         4.添加相關用戶組:

1 [root@Fish Samba-Share]# groupadd system 2 [root@Fish Samba-Share]# groupadd develop 3 [root@Fish Samba-Share]# groupadd productdesign 4 [root@Fish Samba-Share]# groupadd test 5 [root@Fish Samba-Share]# groupadd develop_test

         特別說明:develop_test組是用來管理develop組和test組的共享空間的組。

         5.添加用戶:

1 [root@Fish Samba-Share]# useradd -g test -G develop_test -d /usr/share/Samba-Share/test/ -s /sbin/nologin test 2 [root@Fish Samba-Share]# useradd -g develop -G develop_test -d /usr/share/Samba-Share/develop -s /sbin/nologin develop 3 [root@Fish Samba-Share]# useradd -g productdesign -d /usr/share/Samba-Share/productdesign/ -s /sbin/nologin productdesign 4 [root@Fish Samba-Share]# useradd -g system -G system,develop,productdesign,test,develop_test -d /usr/share/Samba-Share/ -s /sbin/nologin system

         特別說明:

  (1).useradd的-g參數是指定用戶所屬主組,-G參數是指定用戶所屬附加組,-d參數是指定用戶登陸時的家目錄,-s參數是指定用戶登陸時的Shell。

  (2).對於/sbin/nologin這個特殊Shell的說明:使用這個Shell的登陸做業能夠進行系統程序的工做,可是沒法登陸主機,保證了系統的安全性。

  (3).在執行上述命令時,系統會作出以下反饋:

1 useradd: warning: the home directory already exists. 2 Not copying any file from skel directory into it.

         這個緣由是因爲在添加用戶前建立了其家目錄而形成系統作出警告。因爲這是用於文件共享的資源目錄,並不須要用戶的shell配置文件故不作影響。

         6.爲實現文件共享而添加Samba用戶(因爲是在實驗環境,方便起見密碼既用戶名):

 1 [root@Fish Samba-Share]# smbpasswd -a system  2 New SMB password:  3 Retype new SMB password:  4 Added user system.  5 [root@Fish Samba-Share]# smbpasswd -a develop  6 New SMB password:  7 Retype new SMB password:  8 Added user develop.  9 [root@Fish Samba-Share]# smbpasswd -a productdesign 10 New SMB password: 11 Retype new SMB password: 12 Added user productdesign. 13 [root@Fish Samba-Share]# smbpasswd -a test 14 New SMB password: 15 Retype new SMB password: 16 Added user test.

         7.配置共享目錄的權限及相關歸屬:

 1 [root@Fish share]# chown system:system ./Samba-Share/
 2 [root@Fish share]# cd Samba-Share/
 3 [root@Fish Samba-Share]# chmod 2770 develop/ develop_testrw/ productdesign/ test/ temp/ library/
 4 [root@Fish Samba-Share]# chown develop:system develop  5 [root@Fish Samba-Share]# chown productdesign:system productdesign/
 6 [root@Fish Samba-Share]# chown test:system test/
 7 [root@Fish Samba-Share]# chown system:system library/
 8 [root@Fish Samba-Share]# chown system:develop_test develop_testrw/
 9 [root@Fish Samba-Share]# chmod 755 library/
10 [root@Fish Samba-Share]# chown system:system temp/
11 [root@Fish Samba-Share]# chmod 777 temp/
12 [root@Fish Samba-Share]# chmod 755 ../Samba-Share/

    8. Samba服務器配置文件配置:

         備份Samba服務器默認的配置文件:

1 [root@Fish Samba-Share]# cd /etc/samba/
2 [root@Fish samba]# cp ./smb.conf ./smb.conf.bak

         在客戶端查看當前工做站域(以下圖,此項用於填寫Samba服務端配置文件裏workgroup選項),得知當前客戶端工做站域爲:WORKGROUP。

 

         刪除/etc/samb/smb.conf文件內全部內容,並從新編輯Samba服務器配置文件,結果以下:

 1 [root@Fish ~]# cat /etc/samba/smb.conf  2 [global]  3     server string = Samba Server Version %v  4     workgroup = WORKGROUP  5     netbios name = SambaServer  6     server string = CentOS6.6 Samba Server  7     security = share  8 
 9 [system] 10     comment = systemadmin 11     path = /usr/share/Samba-Share 12     valid users = system 13     create mask = 0664
14     directory mask = 0775
15     writeable = yes 16     browseable = yes 17 
18 [library] 19     path = /usr/share/Samba-Share/library 20     writeable = no 21     browseable = yes 22     guest ok = yes 23 
24 [temp] 25     path = /usr/share/Samba-Share/temp 26     writeable = yes 27     browseable = yes 28     guest ok = yes 29 
30 [develop_testrw] 31     path = /usr/share/Samba-Share/develop_testrw 32     valid users = system,@develop_test 33     create mask = 0664
34     directory mask = 0775
35     writeable = yes 36     browseable = yes 37 
38 [develop] 39     path = /usr/share/Samba-Share/develop 40     valid users = develop,@system 41     create mask = 0664
42     directory mask = 075
43     writeable = yes 44     browseable = yes 45 
46 [productdesign] 47     path = /usr/share/Samba-Share/productdesign 48     valid users = productdesign,@system 49     create mask = 0664
50     directory mask = 075
51     writeable = yes 52     browseable = yes 53 
54 [test] 55     path = /usr/share/Samba-Share/test 56     valid users = test,@system 57     create mask = 0664
58     directory mask = 075
59     writeable = yes 60     browseable = yes

    9.重啓Samba服務,使配置文件生效:

1 [root@Fish ~]# service smb restart

         因爲是在實驗環境而並不是生產環境,方便起見故關閉防火牆和SELinux:

1 [root@Fish ~]# service iptables stop 2 [root@Fish ~]# setenforce 0

         10.客戶端相關配置:

         因爲Windows10爲了安全起見關閉了SMB1.0/CIFS文件共享支持,所以須要在「啓用或關閉Windows功能」 選項框內從新勾選該選項,以下圖:

 

3、實現結果

         查詢服務端和客戶端各自的IP地址,並確保兩端能正常能正常通訊。以下圖所示:

          

         在客戶端的「文件資源管理器」的「網絡」選項中輸入「\\192.168.225.12\system」,便可鏈接到Samba服務器。以下圖(在這裏先用system用戶登陸):

 

         在彈出的對話框裏輸入system小組的用戶名和密碼。以下圖:

 

         鏈接成功能夠正常顯示Samba服務器所共享的目錄。以下圖:

 

         如今斷開鏈接,使用develop帳號登陸。按照要求,develop能夠訪問develop、develop_testrw、temp這三個目錄,其他的目錄均不能訪問。驗證以下:

         首先清除清除Windows網絡保存的帳號設置:

 

         進行依次驗證,以下圖:

       

      

      

         使用develop帳號在temp目錄下建立文件,並在服務端查看。以下圖:

     

         至此,該實驗所須要求已經所有完成·。

4、額外說明

   本博客參考瞭如下博客或站點:

https://blog.csdn.net/xg38241415109/article/details/78933949

https://www.5yun.org/16911.html

相關文章
相關標籤/搜索