文中有不對或者有不清楚的地方,請你們告訴我,謝謝!
Samba之文件共享配置實例
本例實現了不一樣的用戶訪問同一個共享目錄具備不一樣的權限,便於管理和維護。基本上能知足一些企業用戶的需求。
一.需求
1. 某公司有5個大部門,分別爲:人事行政部、財務部、技術部、市場部、生產部。
2. 各部門的文件夾只容許本部門員工有權訪問;各部門之間交流性質的文件放到公用文件夾中。
3. 每一個部門都有一個管理本部門文件夾的管理員帳號和一個只能新建和查看文件的普通用戶權限的帳號。
4. 公用文件夾中分爲存放工具的文件夾和存放各部門共享文件的文件夾。
5. 對於各部門本身的文件夾,各部門管理員具備徹底控制權限,而各部門普通用戶能夠在該部門文件夾下新建文件及文件夾,而且對於本身新建的文件及文件夾有徹底控制權限,對於管理員新建及上傳的文件和文件夾只能訪問,不能更改和刪除。不是本部門用戶不能訪問本部門文件夾。
6. 對於公用文件夾中的各部門共享文件夾,各部門管理員具備徹底控制權限,而各部門普通用戶能夠在該部門文件夾下新建文件及文件夾,而且對於本身新建的文件及文件夾有徹底控制權限,對於管理員新建及上傳的文件和文件夾只能訪問,不能更改和刪除。本部門用戶(包括管理員和普通用戶)在訪問其餘部門共享文件夾時,只能查看不能修改刪除新建。對於存放工具的文件夾,只有管理員有權限,其餘用戶只能訪問。
二.規劃
根據公司需求狀況,現作出以下規劃:
1. 在系統分區時單獨分一個Company的區,在該區下有如下幾個文件夾:HR、 CaiWu、JiShu、ShiChang、ShengChan和Share。在Share下又有如下幾個文件夾:HR、CaiWu、JiShu、ShiChang、ShengChan和Tools。
2. 各部門對應的文件夾由各部門本身管理,Tools文件夾由管理員維護。
3. HR管理員帳號:hradmin;普通用戶帳號:hruser。
CaiWu管理員帳號:caiwuadmin;普通用戶帳號:caiwuuser。
JiShu管理員帳號:jishuadmin;普通用戶帳號:jishuuser。
ShiChang管理員帳號:shichangadmin;普通用戶帳號:shichanguser。
ShengChan管理員帳號:shengchanadmin;普通用戶帳號:shengchanuser。
Tools管理員帳號:admin。
文件夾之間的關係請見下圖:
三.SAMBA RPM安裝和啓動
在系統中使用rpm –qa |grep samba和rpm –qa |grep smb來查看系統有沒有安裝該軟件,若是沒有安裝則掛載系統盤,找到samba軟件包,使用rpm –ivh samba*和rpm –ivh smb*便可安裝。
使用RPM包安裝後,samba的配置文件smb.conf默認在/etc/samba/下。
使用service smb start啓動samba。
使用chkconfig --level 35 smb on,可使samba隨系統一塊兒啓動。
在/etc/selinux/config中將「SELINUX」項關閉,SELINUX=disabled。
四.新建用戶
使用useradd命令新建系統帳戶,而後再使用smbpasswd –a創建SMB帳戶。
[root@Samba /]#useradd –s /sbin/nologin jishuadmin
[root@Samba /]#useradd –g jishuadmin –s /sbin/nologin jishuuser
[root@Samba /]#useradd –s /sbin/nologin shichangadmin
[root@Samba /]#useradd –g shichangadmin –s /sbin/nologin shichanguser
[root@Samba /]#useradd –s /sbin/nologin shengchanadmin
[root@Samba /]#useradd –g shengchanadmin –s /sbin/nologin shengchanuser
[root@Samba /]#useradd –s /sbin/nologin admin
[root@Samba /]#smbpasswd –a hradmin
[root@Samba /]#smbpasswd –a hruser
[root@Samba /]#smbpasswd –a caiwuadmin
[root@Samba /]#smbpasswd –a caiwuuser
[root@Samba /]#smbpasswd –a jishuadmin
[root@Samba /]#smbpasswd –a jishuuser
[root@Samba /]#smbpasswd –a shichangadmin
[root@Samba /]#smbpasswd –a shichanguser
[root@Samba /]#smbpasswd –a shengchanadmin
[root@Samba /]#smbpasswd –a shengchanuser
[root@Samba /]#smbpasswd –a admin
五.新建目錄
[root@Samba /]#cd Company
[root@Samba Company]#mkdir HR CaiWu JiShu ShiChang ShengChan Share
[root@Samba Company]#cd Share
[root@Samba Share]#mkdir HR CaiWu JiShu ShiChang ShengChan Tools
六.更改目錄屬性
使用chown命令更改目錄的屬主和屬組。
[root@Samba /]#cd /Company/
[root@Samba Company]#chown hradmin.hradmin HR
[root@Samba Company]#chown caiwuadmin.caiwuadmin CaiWu
[root@Samba Company]#chown jishuadmin.jishuadmin JiShu
[root@Samba Company]#chown shichangadmin.shichangadmin ShiChang
[root@Samba Company]#chown shengchanadmin.shengchanadmin ShengChan
[root@Samba Company]#chown admin.admin Share
使用chmod命令更改用戶訪問該目錄的權限。
[root@Samba Company]#chmod 1770 HR CaiWu JiShu ShiChang ShengChan
[root@Samba Company]#chmod -R 0775 Share
[root@Samba Company]#cd /Company/Share/
[root@Samba Share]#chown hradmin.hradmin HR
[root@Samba Share]#chown caiwuadmin.caiwuadmin CaiWu
[root@Samba Share]#chown jishuadmin.jishuadmin JiShu
[root@Samba Share]#chown shichangadmin.shichangadmin ShiChang
[root@Samba Share]#chown shengchanadmin.shengchanadmin ShengChan
[root@Samba Share]#chown admin.admin Tools
[root@Samba Share]#chmod 1775 HR CaiWu JiShu ShiChang ShengChan
七.配置Samba
Samba的配置文件在/etc/samba目錄下,文件名爲smb.conf。
[root@Samba /]#cd /etc/samba
[root@Samba samba]#cp smb.conf smb.conf.bak
[root@Samba samba]#vi smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = SAMBA
log file = /var/log/samba/%m.log
max log size = 50
security = user
passdb backend = tdbsam
[HR]
comment = This is a directory of HR.
path = /Company/HR/
public = no
admin users = hradmin
valid users = @hradmin
writable = yes
create mask = 0750
directory mask = 0750
[JiShu]
comment = This is a directory of Technology.
path = /Company/JiShu/
public = no
admin users = jishuadmin
valid users = @jishuadmin
writable = yes
create mask = 0750
directory mask = 0750
[CaiWu]
comment = This is a directory of the Ministry of Finance.
path = /Company/CaiWu/
public = no
admin users = caiwuadmin
valid users = @caiwuadmin
writable = yes
create mask = 0750
directory mask = 0750
[ShiChang]
comment = This is a marketing directory.
path = /Company/ShiChang/
public = no
admin users = shichangadmin
valid users = @shichangadmin
writable = yes
create mask = 0750
directory mask = 0750
[ShengChan]
comment = This is a directory of Production.
path = /Company/ShengChan/
public = no
admin users = shengchanadmin
valid users = @shengchanadmin
writable = yes
create mask = 0750
directory mask = 0750
[Share]
comment = This is a share directory.
path = /Company/Share/
public = no
valid users = admin,@hradmin,@caiwuadmin,@jishuadmin,
@shichangadmin,
@shengchanadmin
writable = yes
create mask = 0755
directory mask = 0755
八.測試
修改完smb.conf須要重啓smb服務。
[root@Samba /]#service smb restart
客戶機經過UNC路徑訪問samba。如:\\samba server ip,而後輸入用戶名和密碼便可訪問。
有時候當咱們要進入不一樣的samba目錄,可是這些目錄都有本身的密碼設置時,若是咱們在點擊這個目錄時輸入訪問該目錄的用戶名和密碼時,會提示「不容許一個用戶使用一個以上用戶名與服務器或共享資源的多重鏈接。中斷與此服務器或共享資源的全部鏈接,而後再試一次。」出現此問題是windows自身的限制,一般咱們會註銷當前windows用戶,而後再從新登錄samba來訪問其餘目錄。這樣很麻煩,其實,咱們能夠在windows命令提示符下輸入「net use * /del /y」來切斷你本機當前的全部遠程鏈接。而後點擊其餘目錄輸入該目錄用戶名和密碼便可正常訪問了。若是仍是有提示,那就多執行這個命令兩次,或者刷新一下登錄samba的頁面便可。