RHEL6.3配置文件共享(3) Samba服务之一
我們前面介紹的NFS服務只能在Linux系統之間實現文件共享,但是企業網絡中的絕大多數客戶端都是使用Windows系統,那么我們能否在一臺安裝有Linux系統的服務器上設置文件共享,然后作為文件服務器提供給網絡中的Windows客戶端訪問呢?這就要用到Samba服務。
Samba服務的主要功能就是實現Linux系統和Windows系統之間的互訪,既可以在Windows客戶端上訪問Linux服務器上的文件共享,也可以在Linux客戶端上訪問Windows服務器上的文件共享,因而相比NFS服務更具有實踐意義。
Samba服務基于SMB服務消息塊協議和CIFS通用互聯網文件系統協議,Samba服務對應的進程有2個:
文件共享功能主要是由smbd進程提供的,nmbd進程主要提供主機名稱解析功能,也就是令客戶端可以通過計算機名的方式去訪問服務端。我們主要考慮的是smbd進程,它對應的進程服務名為smb。
Samba服務默認并沒有安裝,所以我們要先執行“yum?install?samba”命令安裝服務。
安裝完成后,啟動服務,并設為永久啟動。
[root@localhost?~]#?service?smb?start
啟動?SMB?服務:????????????????????????????????????????????[確定]
[root@localhost?~]#?chkconfig?smb?on
Samba服務的主配置文件為/etc/samba/smb.conf,該文件中的內容比較多,其中大多是以“#”開頭的注釋行,以及以“;”開頭的配置樣例行。樣例行是對配置內容的舉例,用戶可以參考樣例行進行配置。無論是注釋行還是樣例行,Samba服務器都將予以忽略。
使用vim編輯器打開該文件,可以發現其中主要包括三部分內容:
【global】全局設置:這部分配置項的內容對整個Samba服務器有效。
全局配置中的主要設置項目:
設置Samba服務器所在的工作組以及對工作組的描述信息。當在Windows客戶端上通過網上鄰居的方式訪問文件共享時,才需要用到工作組,我們現在已經很少去使用網上鄰居了,所以這部分信息如何設置都無所謂。
這部分是用來設置Samba服務器的日志存放位置以及日志文件大小,一般無需改動。
security用來設置安全級別,passdb?backend用來設置用戶密碼存放位置。
其中security是全局設置中最重要的一個設置項目,主要有以下幾種安全級別:
安全級別中比較常用的是share和user。
?
除了全局設置之外,另外兩部分是對用戶主目錄和打印機的默認共享設置。
[homes]部分是對用戶主目錄的默認共享設置,也就是說Samba服務器默認將所有用戶的主目錄都設為了共享。當在客戶端以Samba服務器中某個系統用戶的身份登錄時,就會看到自己的主目錄,并且具有寫入權限。當然每個用戶只能看到自己的主目錄,別人的主目錄是無法看到的。
[printers]部分是打印機的默認共享設置,如果系統中并沒有安裝打印機,那么可以將這部分內容注釋掉,或者無需理會。
下面我們來創建一個最簡單的匿名共享,即所有客戶端無需進行身份驗證,直接就可以訪問共享文件。
首先創建共享目錄,并在其中放一個測試文件:
[root@localhost?~]#?mkdir?/home/share
[root@localhost?~]#?echo?‘hello,world!’?>?/home/share/hello.txt
然后修改配置文件:
[root@localhost?~]#?vim?/etc/samba/smb.conf
首先在【global】全局設置中設置“security?=?share”,允許匿名訪問。
然后按“G“鍵將光標移動到文件末尾,在這里提供了一個設置范例:
我們可以按照這個范例來設置要共享的目錄:
對設置項目的解釋:
[share]:共享名,可自由定義。
comment:對共享的描述信息,可自由定義。
path:共享目錄的路徑,必須為絕對路徑。
public:是否允許所有用戶訪問。
writable:是否允許寫入。
范例中倒數第二行的printable,是指是否需要提供打印共享,這個一般無需設置。
范例中的最后一行write?list,是指允許寫入的用戶列表。由于我們設置了拒絕寫入,所以這一項也不需設置。
設置完成后,保存退出,然后重啟smb服務生效。
[root@localhost?~]#?service?smb?restart
然后我們在另一臺Windows客戶端上進行訪問測試,輸入Samba服務器文件共享的UNC路徑:
但此時卻發現雖然可以匿名訪問,并可以看到share共享目錄,但卻無法看到其中的內容,這是由于Samba服務器上的SELinux導致的,關于SELinux的配置我們也放到以后再說,這里先將Selinux關閉,也就是將其改為許可模式。
[root@localhost?~]#?setenforce?0
[root@localhost?~]#?getenforce
Permissive
然后在客戶端再次測試,就可以正常訪問了。
總結
以上是生活随笔為你收集整理的RHEL6.3配置文件共享(3) Samba服务之一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [置顶] ibatis
- 下一篇: [转] 爱情的隐式马尔可夫模型(Love