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
[caiwu]
comment = this is a directory of the ministry of finance.
path = /company/caiwu/
admin users = caiwuadmin
valid users = @caiwuadmin
[shichang]
comment = this is a marketing directory.
path = /company/shichang/
admin users = shichangadmin
valid users = @shichangadmin
[shengchan]
comment = this is a directory of production.
path = /company/shengchan/
admin users = shengchanadmin
valid users = @shengchanadmin
[share]
comment = this is a share directory.
path = /company/share/
valid users = admin,@hradmin,@caiwuadmin,@jishuadmin,
@shichangadmin,@shengchanadmin
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的頁面即可。
1 通過:需求--規劃samba rpm安裝--建立使用者,目錄--更改目錄屬性--配置samba各個檔案-測試 以上幾個步驟實作了不同的使用者通路同一個共享目錄具有不同的權限,便于管理和維護。能滿足很多企業使用者的需求。
2 客戶機通過unc路徑通路samba。\\samba server ip,然後輸入使用者名和密碼即可通路。
3 伺服器為一個linux系統,客戶機為windows系統。