Linux學習筆記--Samba服務

 Samba服務

 
在我們安裝Samba服務之前哈,我們先來了解一下其所需要的軟件包以及它們的用途哈~
samba-3.0.33-3.28.el5.x86_64.rpm:該包爲Samba服務的主程序包。服務器必須安裝該軟件包。
samba-client-3.0.25b-0.el5.4.i386.rpm:該包爲Samba的客戶端工具,是連接服務器和連接網上鄰居的客戶端工具幷包含其測試工具。
samba-common-3.0.25b-0.el5.4.i386.rpm:該包存放的是通用的工具和庫文件,無論是服務器還是客戶端都需要安裝該軟件包。
samba-swat-3.0.25b-0.el5.4.i386.rpm:當安裝了這個包以後,就可以通過瀏覽器(比如IE等哈)來對Samba服務器進行圖形化管理。
在安裝Samba之前,使用rpm -qa命令檢測系統是否安裝了Samba相關軟件包:rpm -qa |grep samba
RHEL5的光盤裏都有安裝包,爲了方便就把光盤裏的rpm包複製到/home/cdrom下。
安裝主程序包:rpm -ivh samba-3.0.33-3.28.el5.x86_64.rpm
 
提示錯誤,提示的是沒有安裝這個文件:perl-Convert-ASN1-0.20-1.1.noarch.rpm ,裝之:
 
安裝成功,繼續安裝sambarpm -ivh samba-3.0.33-3.28.el5.x86_64.rpm
 
安裝Samba的客戶端工具: rpm -ivh samba-client-3.0.33-3.28.el5.x86_64.rpm
提示這個包已經安裝了。
 
繼續安裝存放通用的工具和庫文件包:rpm -ivh samba-common-3.0.33.28.el5.x86_64.rpm
 提示這個包已經安裝了。

 安裝最後一個Samba圖形化管理工具:rpm -ivh samba-swat-3.0.33-3.28.el5.x86_64.rpm
安裝成功,到這裡就安裝好了所有的包了,所有軟件包安裝完畢之後,我們可以使用rpm命令進行查詢哈:rpm -qa | grep samba

 
Samba的配置文件一般就放在/etc/samba目錄中,主配置文件名爲smb.conf smb.conf中以“#”開頭的爲註釋,爲用戶提供相關的配置解釋信息,方便用戶參考,不用修改它哈。
smb.conf中還有以“;”開頭滴,這些都是samba配置的格式範例,默認是不生效滴,可以通過去掉前面的“;”並加以修改來設置想使用的功能。

 打開配置文件:vim /etc/samba/smb.conf
這兩句是設置samba服務器的工作組和 服務器描述(實際上類似於備註信息)。

 
這裡是設置samba服務器安全模式
samba服務器有shareuserserverdomainads 五種安全模式,用來適應不同的企業服務器需求。
1share安全級別模式
客戶端登錄samba服務器,不需要輸入用戶名和密碼就可以瀏覽samba服務器的資源,適用於公共的共享資源,安全性差,需要配合其他權限設置,保證samba服務器的安全性。
2user安全級別模式
客戶端登錄samba服務器,需要提交合法帳號和密碼,經過服務器驗證纔可以訪問共享資源,服務器默認爲此級別模式。
3server安全級別模式
客戶端需要將用戶名和密碼,提交到指定的一臺samba服務器上進行驗證,如果驗證出現錯誤,客戶端會用user級別訪問。
4domain安全級別模式
如果samba服務器加入windows域環境中,驗證工作服將由windows域控制器負責,domain級別的samba服務器只是成爲域的成員客戶端,並不具備服務器的特性,samba早期的版本就是使用此級別登錄windows域滴。
5ads安全級別模式
samba服務器使用ads安全級別加入到windows域環境中,其就具備了domain安全級別模式中所有的功能並可以具備域控制器的功能。

 
Samba服務密碼文件
samba服務器發佈共享資源後,客戶端訪問samba服務器,需要提交用戶名和密碼進行身份驗證,驗證合格後纔可以登錄。samba服務爲了實現客戶身份驗證功能,將用戶名和密碼信息存放在/etc/samba/smbpasswd中,在客戶端訪問時,將用戶提交資料與smbpasswd存放的信息進行比對,如果相同,並且samba服務器其他安全設置允許,客戶端與samba服務器連接才能建立成功哈~
那如何建立samba帳號呢?偶在說之前先強調一點哈,samba帳號並不能直接建立滴,需要先建立Linux同名的系統帳號。比如如果我們要建立一個名爲missamba帳號,那Linux系統中必須提前存在一個同名的mis系統帳號。
samba中添加帳號命令爲smbpasswd,命令格式:smbpasswd -a 用戶名
 
注意:解決/etc/samba目錄下沒有smbpasswd文件,原因:samba啓用了tdbsam驗證。
tdbsam這行禁用掉,添加下面這行,保存退出就好了。然後再新建用戶:

 
新建mis用戶,設置mis密碼,輸入兩次mis密碼
添加mis用戶到samba服務,輸入兩次密碼,添加成功
 
 
Linux服務中,當我們更改配置文件後,一定要記得重啓服務哈,讓服務重新加載配置文件,這樣新的配置纔可以生效哈
注意哈:偶這裏強調一下細節,重啓samba服務,雖然可以讓配置生效,但是restart是先關閉samba服務,再開啓服務哈,這樣如果在公司網絡運營中肯定會對客戶端員工的訪問造成影響,建議使用reload命令重新加載配置文件使其生效,這樣不需要中斷服務就可以重新加載配置哈~
重啟服務:service smb restart 停止:service smb stop 啟動:service smb start
重新加載配置文件:service smb reload
我們可以使用chkconfig命令自動加載smb服務:
chkconfig --level 3 smb on #運行級別3自動加載
chkconfig --level 3 smb off #運行級別3不自動加載
我們還可以使用ntsysv命令利用文本圖形界面對smb自動加載進行配置,如果要自動加載smb可以在其前面選中“*”,否則取消掉就不自動加載了哈

  
下面來做個列子,在/home下新建個test的作為共享目錄,打開smb.conf文件進行編輯:vim /etc/samba/smb.conf
這裡是更改工作組,服務器的描述。

  
 

這裡一定要注意哈,如果用share模式的話就是可以匿名訪問的,設置成user模式,就是要用戶名和密碼才能訪問的。

 
 

在最後添加上面的語句:comment 是共享的描述,path是目錄的絕對路徑,public是設置能否匿名訪問,編輯好後保存退出。

 
test目錄下新建個test.txt的文件。

 
 記得哈,修改了配置文件一定要重新加載才能生效的。

 
 
添加名為user1的用戶,設置密碼為123,添加到samba用戶。

 
 
 
輸入地址訪問:\\172.26.6.100\test用戶:user1 密碼:123 成功訪問。
 
 
現在是隻能訪問而不能修改或新建文件。要想使用戶可以修改,就要設置文件的權限,這裡設置為777,然後打開Samba配置文件,設置好共享的權限
 
設置好權限後用戶就可以修改了……

 
 
使用IP地址來限制用戶訪問:
hosts allow hosts deny 的使用方法,hosts allow hosts deny 字段的使用
hosts allow 字段定義允許訪問的客戶端,hosts deny 字段定義禁止訪問的客戶端
host denyhosts allow字段同時出現並定義滴內容相互衝突時,hosts allow優先。
 
hosts deny = 172.26.2. 表示禁止所有來自172.26.2.網段的IP地址訪問
hosts allow = 172.26.2.28 表示允許172.26.2.28這個IP地址訪問
 
hosts deny = 172.26.2.
hosts allow = 172.26.2.28 表示禁止所有來自172.26.2.網段的IP地址訪問,但允許172.26.2.28訪問,以為hosts allow優先。這個可以根據實際要求靈活設置的,到這裡就基本上結束了。

  
糾結了很久,爲什麼在訪問共享目錄的時候也會看到用來登錄的用的home目錄也能看到呢?原來是因為smb.cnf文件默認設置共享了,所以只要註釋掉語句就好了

   
在運行中輸入 ”\\172.26.6.100” 可以看到共享目錄,如果看不到共享目錄請關閉防火牆。
備註:但是不能進入共享目錄,雙擊目錄時,報錯誤ERROR
原因是,RHEL5selinux 擋住了,解決方法有兩種:
如何開啓或關閉SELinux
RedHat/etc/sysconfig/selinux
在新版本中的Red Hat Fedora 上,修改檔案/etc/sysconfig/selinux:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
SELINUX設定爲disable, 下次啓動系統後將會停止SElinux
Linux核心參數(Kernel Parameter)
或者可以在覈心參數後加上: selinux=0 (停止)或 selinux=1 (開啓)參數
檔案/boot/grub/menu.lst
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0
initrd /initrd-2.6.18-1.2798.fc6.img
檢查SELinux現時況態
要知到你現在是否使用 SELinux:
# getenforce
disabled

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章