細致講解Fedora Samba配置安裝
經(jīng)過長時間學(xué)習(xí)Samba,于是和大家分享一下,你可能會遇到Fedora Samba問題,看完本文你肯定有不少收獲,這里將介紹Fedora Samba問題的解決方法,希望本文能教會你更多東西。在我們使用 Windows 作為客戶機的時候,通常有文件、打印共享的需求。
作為Windows 網(wǎng)絡(luò)功能之一,通??梢栽?Windows 客戶機之間通過 Windows Network 固有的功能實現(xiàn)這些要求。然而,通過 Fedora Samba 我們也可以讓一臺 Fedora 主機來兼容 Windows 網(wǎng)絡(luò),實現(xiàn)同樣的功能,進而充分發(fā)揮 Fedora 主機的可用性。
本文主要介紹怎樣通過 Fedora Samba 服務(wù)器的構(gòu)建實現(xiàn) Windows 網(wǎng)絡(luò)中的文件共享。SMB協(xié)議是建立在NetBIOS協(xié)議之上的應(yīng)用協(xié)議,是基于TCP138、139兩個端口的服務(wù),NetBIOS出現(xiàn)之后,Microsoft就使用NetBIOS實現(xiàn)了一個網(wǎng)絡(luò)文件/打印服務(wù)系統(tǒng)。這個系統(tǒng)基于NetBIOS設(shè)定了一套文件共享協(xié)議,Microsoft稱之為SMB(Server Message Block) 協(xié)議,這個協(xié)議被用于Lan Manager和Windows服務(wù)器系統(tǒng)中,實現(xiàn)不同計算機之間共享打印機和文件等。
因此,為了讓W(xué)indows和Unix/Linux計算機相集成,***的辦法就是在 Unix/Linux計算機中安裝支持SMB協(xié)議的軟件。這樣使用Windows的客戶端不需要更改設(shè)置, 就能像使用Windows NT或Windows 2000服務(wù)器一樣,使用Unix/Linux計算機上的共享資源了。
Fedora Samba使SMB協(xié)議運行在NetBIOS協(xié)議上,并且使用Windows的NetBEUI協(xié)議讓Unix/Linux服務(wù)器可以在Windows的網(wǎng)絡(luò)鄰居上被訪問到。
安裝 Fedora Samba
首先,通過 yum 來在線安裝 Fedora Samba 。
yum -y install Fedora Samba
配置 Fedora Samba
然后,通過編輯 /etc/Fedora Samba/smb.conf ,根據(jù)需求配置 Fedora Samba。在這里,本文的原則是只將文件共享應(yīng)用于內(nèi)網(wǎng),并讓將要被共享的目錄擁有充分的讀寫權(quán)限屬性。
[root@sample ~]# vi /etc/Samba/smb.conf ← 編輯 Fedora Samba 的配置文件
workgroup = WORKGROUP //設(shè)置工作組
server string = %U's Samba %v //描述信息%U代表當(dāng)前登陸用戶
netbios name = fedora //netbios名字,fedora9 默認沒有啟用
log file = /var/log/Samba/log.%m //日志文件保存路徑%m你的windows主機名
max log size = 50 //日志***容量
security = user //安全級別,user需要用戶名和密碼,share級別則不要
[Fedora Samba] //建立一個共享名為Fedora Samba的共享
comment = Samba//描述信息
path = /home/suyang/Fedora Samba//共享路徑
public = no //是否允許guest用戶訪問(相當(dāng)于guest ok = yes/no)
writable = yes //是否可寫
write list = suyang //可以寫入的用戶列表(@代表用戶組)
接下來,創(chuàng)建將要通過 Fedora Samba 共享給 Windows 網(wǎng)絡(luò)的專用目錄。
[root@sample ~]# mkdir /home/suyang/Samba ← 建立共享文件專用目錄
[root@sample ~]# chown -R nobody. /home/suyang/Samba ← 設(shè)置專用目錄歸屬為 nobody
[root@sample ~]# chmod 777 /home/suyang/Samba ← 將專用目錄屬性設(shè)置為 777
在進行到服務(wù)端的連接之前,需要預(yù)先對用于登錄 Fedora Samba 的用戶進行設(shè)置。這里我們以 Fedora 中 Fedora Samba 標(biāo)準(zhǔn)的 Fedora Samba 用戶數(shù)據(jù)庫管理工具“smbpasswd”為例,創(chuàng)建用于登錄 Fedora Samba 的用戶數(shù)據(jù)。這里需要注意的一點:用 smbpasswd 創(chuàng)建用戶的前提是,系統(tǒng)用戶中存在該用戶 -- 在基于系統(tǒng)用戶之上,才可以創(chuàng)建該用戶在 Fedora Samba 用戶數(shù)據(jù)庫中的信息。
[root@sample ~]# smbpasswd -a suyang ← 將系統(tǒng)用戶 suyang(例)加入到 Fedora Samba 用戶數(shù)據(jù)庫
New SMB password: ← 輸入該用戶用于登錄 Fedora Samba 的密碼
Retype new SMB password: ← 再次確認輸入該密碼
啟動 Fedora Samba 服務(wù)
在啟動 Fedora Samba 服務(wù)之前,首先將防火墻設(shè)置中 Fedora Samba 所用到的端口進行開放。 [root@sample ~]# vi /etc/sysconfig/iptables ← 編輯 iptables 配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT
[root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新啟動 iptables ,使新的規(guī)則生效
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
***,啟動 Fedora Samba 服務(wù)(含兩個守護進程:smb,nmb)。
[root@sample ~]# chkconfig smb on ← 設(shè)置 Fedora Samba 自啟動
[root@sample ~]# chkconfig --list smb ← 確認 Fedora Samba 啟動標(biāo)簽,確認 2-5 為 on 的狀態(tài)
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# chkconfig nmb on ← 設(shè)置 nmb 自啟動
[root@sample ~]# chkconfig --list nmb ← 確認 nmb 啟動標(biāo)簽,確認 2-5 為 on 的狀態(tài)
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# /etc/rc.d/init.d/smb start ← 啟動 Fedora Samba 服務(wù)
Starting SMB services: [ OK ]
[root@sample ~]# /etc/rc.d/init.d/nmb start ← 啟動 nmb 服務(wù)
Starting NMB services: [ OK ]
【編輯推薦】