天天看點

Fedora Samba問題

經過長時間學習Samba,于是和大家分享一下,你可能會遇到Fedora Samba問題,看完本文你肯定有不少收獲,這裡将介紹Fedora Samba問題的解決方法,希望本文能教會你更多東西。在我們使用 Windows 作為客戶機的時候,通常有檔案、列印共享的需求。

作為Windows 網絡功能之一,通常可以在 Windows 客戶機之間通過 Windows Network 固有的功能實作這些要求。然而,通過 Fedora Samba 我們也可以讓一台 Fedora 主機來相容 Windows 網絡,實作同樣的功能,進而充分發揮 Fedora 主機的可用性。

本文主要介紹怎樣通過 Fedora Samba 伺服器的建構實作 Windows 網絡中的檔案共享。SMB協定是建立在NetBIOS協定之上的應用協定,是基于TCP138、139兩個端口的服務,NetBIOS出現之後,Microsoft就使用NetBIOS實作了一個網絡檔案/列印服務系統。這個系統基于NetBIOS設定了一套檔案共享協定,Microsoft 稱之為SMB(Server Message Block) 協定,這個協定被用于Lan Manager和Windows伺服器系統中,實作不同計算機之間共享列印機和檔案等。

是以,為了讓Windows和Unix/Linux計算機相內建,最好的辦法就是在 Unix/Linux計算機中安裝支援SMB協定的軟體。這樣使用Windows的用戶端不需要更改設定, 就能像使用Windows NT或Windows 2000伺服器一樣,使用Unix/Linux計算機上的共享資源了。

Fedora Samba使SMB協定運作在NetBIOS協定上,并且使用Windows的NetBEUI協定讓Unix/Linux伺服器可以在Windows的網絡鄰居上被通路到。

安裝 Fedora Samba

使用rpm –qa|gerp samba來檢查是否安裝了samba 軟體包,如果沒有安裝的話請自行安裝以下的軟體包

# rpm –ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm

# rpm –ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm

# rpm –ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm

# rpm –ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm

# rpm –ivh system-config-samba-1.2.63-1.fc9.noarch.rpm

或者你用yum install samba* -y就可以一次搞定了。

配置 Fedora Samba

然後,通過編輯 /etc/Samba/smb.conf ,根據需求配置 Fedora Samba。在這裡,本文的原則是隻将檔案共享應用于内網,并讓将要被共享的目錄擁有充分的讀寫權限屬性。

[[email protected] ~]# vi /etc/Samba/smb.conf ← 編輯 Fedora Samba 的配置檔案

workgroup = WORKGROUP //設定工作組

server string = %U's Samba %v //描述資訊%U代表目前登陸使用者

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使用者通路(相當于guest ok = yes/no)

writable = yes //是否可寫

write list = suyang //可以寫入的使用者清單(@代表使用者組)

接下來,建立将要通過 Fedora Samba 共享給 Windows 網絡的專用目錄。

[[email protected] ~]# mkdir /home/suyang/Samba  ← 建立共享檔案專用目錄

[[email protected] ~]# chown -R nobody. /home/suyang/Samba  ← 設定專用目錄歸屬為 nobody

[[email protected] ~]# chmod 777 /home/suyang/Samba ← 将專用目錄屬性設定為 777

在進行到服務端的連接配接之前,需要預先對用于登入 Fedora Samba 的使用者進行設定。這裡我們以 Fedora 中 Fedora Samba 标準的 Fedora Samba 使用者資料庫管理工具“smbpasswd”為例,建立用于登入 Fedora Samba 的使用者資料。這裡需要注意的一點:用 smbpasswd 建立使用者的前提是,系統使用者中存在該使用者 -- 在基于系統使用者之上,才可以建立該使用者在 Fedora Samba 使用者資料庫中的資訊。

[[email protected] ~]# smbpasswd -a suyang  ← 将系統使用者 suyang(例)加入到 Fedora Samba 使用者資料庫

New SMB password:  ← 輸入該使用者用于登入 Fedora Samba 的密碼

Retype new SMB password:  ← 再次确認輸入該密碼

以下為另一參考文獻

啟動 Fedora Samba 服務

在啟動 Fedora Samba 服務之前,首先将防火牆設定中 Fedora Samba 所用到的端口進行開放。                           [[email protected] ~]# 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

[[email protected] ~]# /etc/rc.d/init.d/iptables restart  ← 重新啟動 iptables ,使新的規則生效

Flushing firewall rules:  [ OK ]

Setting chains to policy ACCEPT: filter [ OK ]

Unloading iptables modules: [ OK ]

Applying iptables firewall rules:  [ OK ]

最後,啟動 Fedora Samba 服務(含兩個守護程序:smb,nmb)。

[[email protected] ~]# chkconfig smb on  ← 設定 Fedora Samba 自啟動

[[email protected] ~]# chkconfig --list smb  ← 确認 Fedora Samba 啟動标簽,确認 2-5 為 on 的狀态

smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[[email protected] ~]# chkconfig nmb on  ← 設定 nmb 自啟動

[ro[email protected] ~]# chkconfig --list nmb ← 确認 nmb 啟動标簽,确認 2-5 為 on 的狀态

nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[[email protected] ~]# /etc/rc.d/init.d/smb start  ← 啟動 Fedora Samba 服務

Starting SMB services: [ OK ]

[[email protected] ~]# /etc/rc.d/init.d/nmb start  ← 啟動 nmb 服務

Starting NMB services: [ OK ]

繼續閱讀