Samba 中文手冊

style="WIDTH: 345px; HEIGHT: 285px" align="left" marginwidth="0" marginheight="0" src="http://www.ymfund.com/web/ad.html" frameborder="0" width="468" scrolling="no" height="60">

一、Samba簡介

給Windows客戶提供文件服務是通過samba實現的,凡架設過MS Windows網絡的人都知道MS Windows網絡的核心是SMB/CIFS,而samba也是一套基於UNIX類系統、實現SMB/CIFS協議的軟件,作爲UNIX的克隆,Linux也可以運行這套軟件。和NT相比較,samba的文件服務功能一點也不亞於NT,效率很高,藉助Linux本身,可以實現用戶磁盤空間限制功能,NT到4.0版本還是無法實現這點,samba由samba小組(http;//samba.org)開發,更新速度很快,目前最高的版本是2.0.7版,是2000年4月25日發佈的,每個更新版本在功能上都所增強,也修復了已知的BUG。本章所涉及到的技術內容以2.0.3版藍本。目前各種Linux發佈大都包含這套軟件,如果你的Linux發佈是Read Hat,則是以RPM形式提供,可以在安裝Linux的時候選擇這個軟件,也可以單獨安裝,以root身份。rpm -i samba-2.0.3-8.i386.rpm,就可以了。

如果你的Linux發佈沒有包含這個軟件,可以從ftp;//samba.org/pub/samba去下載。另外,您的Linux的核心要支持smbfs,一般各種發佈已經把smbfs的支持包含進去,如果沒有包含的話,就要重新編譯核心,獲得smbfs支持,具體怎麼樣編譯核心請參閱相關文章。

由於本章的內容是基於文件服務器, 重點介紹samba在文件服務器上的應用。目前samba還不能完全代替Windows NT,尤其是把samba設置成PDC,最好不要這樣做,NT PDC非常複雜,samba還只能實現其中一部分功能。希望未來的版本可以做到。

這套軟件由一系列的組件構成,主要的組件有:

smbd SMB服務器,給SMB客戶提供文件和打印服務;

nmbd, Netbios 名稱服務器,提供Netbios名稱服務和瀏覽支持,幫助SMB客戶定位服務器;

smbclient, SMB客戶程序,用來存取SMB服務器上的共享資源;

testprns 測試服務器上打印機訪問的程序;

testparms 測試Samba配置文件的正確性的工具;

smb.conf samba的配置文件;

smbstatus 這個工具可以列出當前smbd服務器上的連接;

make_smbcodepage 這個工具用來生成文件系統的代碼頁;

smbpasswd 這個工具用來設定用戶密碼;

swat samba的Web管理工具。

二、怎麼樣配置samba

實際上,samba安裝完後,只要把/etc/smb.conf這個文件裏的workgroup=XXXXX這個參數該爲您的工作組,啓動samba就可以運行了,但這根本不能符合我們的需要。samba的配置都是圍繞smb.conf來進行的,配置方式有很多種,如果熟練的話可以手工編輯這個文件,也可以通過linuxconf來配置,而且samba本身帶了一個基於web的管理工具swat,使用901端口,安裝完samba後,它會在您機器的/etc/services的尾部加上一條:

 

swat 901/tcp #Add swat service used via inetd

在inetd.conf裏填上:

 

swat stream tcp nowait.400 root /usr/sbin/swat swat

在瀏覽器的地址欄裏鍵入 http://youhostname:901/ 就可以進入swat對samba進行管理。下面就介紹怎麼樣手工配置這個文件以達到讓samba成爲一個符合需求的文件服務器。

先看看一小段的smb.conf:

 

# smb.conf example 
  [global] 
  workgroup = WORKGROUP 
  server string = Samba Server 
  hosts allow = 192.168.1. 192.168.2. 127. 
  load printers = no 
  printcap name = /etc/printcap 
  guest account = guest 
  log file = /usr/local/samba/var/log.%m 
  max log size = 50 
  security = user 
  socket options = TCP_NODELAY 
  [homes] 
  comment = Home Directories 
  browseable = yes 
  writable = yes 
  [printers] 
  comment = All Printers 
  path = /usr/spool/samba 
  browseable = no 
  guest ok = no 
  writable = no 
  printable = yes 
  printer driver = Epson LQ-1600K 
  [tmp] 
  comment = Temporary file 
  path = /tmp 
  read only = no 
  public = yes 
  [public] 
  comment = Public Zone 
  path = /home/samba 
  public = yes 
  writable = yes


從上面的例子可以看出,smb.conf的格式和Windows裏的INI文件很像,含有多個段,每個段由段名開始,一直到下個段名,每個段名放在方括號中間。段裏的參數的格式是:名稱 = 值。

文件裏的每個段名、參數以及註釋都只能佔一行,換句話說就是一行裏只能寫一個段名或參數或註釋,如果一行寫不下或不想把一行寫的過長,可以在行尾用"/"來表示續行。段名和參數名不分大小寫。可以有註釋,註釋以;或#開始到該行結束。

除了[global]段外,所有的段都可以看作是一個共享資源,段名是該共享資源的名字,而段裏的參數就是共享資源的屬性。[global], [homes] 和 [printers]這三個段是比較特殊的,把在後面說明。而下面的注意事項則是針對普通的段。

一個共享資源段由要提供訪問的路徑和附加的訪問權限組成,可以是文件資源或打印資源。共享資源段可以給guest級的用戶服務,一般來說guest用戶是不需要密碼的,如果給guest提供服務,guest的權限是根據UNIX裏的guest帳戶來賦予。 如果共享資源段不是給guest提供服務的,則訪問這樣的段需要客戶的密碼。由於賦予用戶對共享資源段的訪問權限是基於該用戶在UNIX系統的對該資源的訪問權限,所以服務器是不能賦予超過UNIX系統賦予該用戶的權限的。

例如:

下面的共享資源段的例子定義了一個文件共享,用戶對路徑/home/abc有寫入的權限,共享資源段名是abc,也就是共享名。

 

[abc] 
  path = /home/abc 
  writeable = true

1.段

而這下面的段定義了一個打印共享,共享是隻讀的,但可打印,就是說唯一允許的寫訪問就是打開、寫入和關閉脫機文件。

 

[myprinter] 
  path = /usr/spool/public 
  read only = true 
  printable = true 
  guest ok = true

特殊段:

[global] 段

在這個段的參數是全局有效的。

[homes] 段

當用戶請求一個共享時,服務器把在存在的共享資源段中去尋找,如果找到匹配的共享資源段,就使用這個共享資源段。如果找不到,就把請求的共享名看成是用戶的用戶名,並在本地的password文件裏找這個用戶,如果用戶名存在且用戶提供的密碼是正確的,則以這個home段克隆出一個共享提供給用戶。這個新的共享的名稱是用戶的用戶名,而不是home,如果home段裏沒有指定共享路徑,就把該用戶的宿主目錄(home directory)作爲共享路徑。

通常的共享資源段能指定的參數基本上都可以指定給[home]段。但一般情況下[home]段有如下配置就可以滿足普通的應用。

 

[homes] 
  writeable = yes

注意,如果在[home]段里加了guess access =ok, 所有的用戶都可以不要密碼就能訪問所有的宿主目錄!

[printers] 段

該段用於提供打印服務。

如果定義了[printers]這個段,用戶就可以連接在printcap文件裏指定的打印機。當一個連接請求到來時,smbd去查看配置文件裏已有的段,如果和請求匹配就用那個段,如果找不到匹配的段,但[home]段存在,就用[home]段。否則請求的共享名就當作是個打印機共項名,然後去尋找適合的printcap文件,看看請求的共享名是不是個有效的打印共享名。如果匹配,那麼就克隆出一個新的打印機共享提供給客戶。

注意,[printers]服務必須是printable,如果指定爲其它,服務器把拒絕加載配置文件。

通常指定的路徑應該任何人都有寫入權限。

 

[printers] 
  path = /usr/spool/public 
  writeable = no 
  guest ok = yes 
  printable = yes 
  printer driver = Epson LQ-1600K

()

2.參數

段裏可以指定的參數非常多,有些參數是全局段纔可以用的,而有些參數是任何段都可以用的,先介紹一些基本參數,明白這些基本參數,基本上就可以一般性地應用samba了,如果要更精細地控制samba,可以繼續參考一些高級配置。另外,本章假設讀者對MS WINDOWS 網絡是熟悉的,不熟悉的可以參考相關資料。

全局參數

2.1 基本參數

workgroup

說明:這個參數用來指定samba所要加入的工作組,另外如果在設置了security=domain,則workgroup可以指定域名。例如: workgroup = wgp1。指明工作組爲wgp1 。

netbios name

說明:這個參數指定samba的netbios名,可以不設置,samba把會使用機器的DNS名的第一部分,如果你的機器的DNS名是host1.domain,就用host1 例如:netbios name = public。指定NetBios名爲public。

server string

說明:這個參數指定在瀏覽列表裏的機器描述,和MS WINDOWS 裏配置網絡時的描述是一樣的。可以是任何字符串。也可以不填,samba會用缺省的 samba %v,即samba 尾隨它的版本號,不過如果要模仿NT象一點的話,可以填一下。例如:

 

server string = Master File Server

2.2 安全參數

security

說明:這是個重要的安全配置參數,有4個值,分別是share、user、server和domain,定義了samba的基本安全級,通常是 user。

security = user這是samba的默認配置,這種情況下要求用戶在訪問共享資源之前資源必須先提供用戶名和密碼進行驗證。

securtiy = share這是幾乎沒有安全性的級別,任何用戶都可以不要用戶名和口令訪問服務器上的資源

security = server和user安全級類似,但用戶名和密碼是遞交到另外一個SMB服務器去驗證,比如遞交給一臺NT服務器。如果遞交失敗,就退到user安全級,從用戶端看來,server和user這兩個級別是沒什麼分別的。

security = domain這種安全級別要求網絡上存在一臺NT PDC,samba把用戶名和密碼遞交給NT PDC去驗證。

從用戶端看來,user級以上的安全級其實是沒什麼分別的,只是服務器驗證的方式不同,但這三種安全級都要求用戶在本Linux機器上也要系統帳戶。否則是不能訪問的。

encrypt passwords

說明:是否對密碼進行加密,samba本身可以維護一個密碼文件/etc/smbpasswd,如果不對密碼進行加密則在驗證會話期間客戶機和服務器之間傳遞的是明文密碼,samba直接把這個密碼和Linux裏的/etc/passwd密碼文件進行驗證。這其中有些問題,之一就是在Windows 95 OS/R2以後的版本和Windows NT SP3以後的版本缺省都不傳送明文密碼,要讓這些系統能傳送明文密碼必須在其註冊表裏更改。對於Windows 95 OS/R2以上的版本,可以在[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/VNETSUP]里加一個十六進制值Enable PlainTextPassword=00000001。對於WINDOWS NT SP3 以上的版本,可以在[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Rdr/Parameters]里加一個十六進制值EnablePlainTextPassword=00000001,這樣就可以讓它們能在網絡上傳送明文密碼。

另外,還有一件很煩人的事情就是NT系統,如果一個服務器是處於用戶級別上的安全模式,又不支持密碼加密傳送的話,NT把拒絕和服務器連接,除非服務器向用戶提示要密碼。這在實際應用中會出現什麼情況呢。如果你在NT機器有個帳戶user1,在Linux機器上也有個帳戶user1,密碼都是一樣,但你去和Linux機器上的共享連接的時候,NT就會提示你錯誤的密碼或未知的用戶名,要求你再次輸入用戶名和密碼,NT才和服務器連接。如果你映射了Linux上的共享資源作爲NT的一個網絡驅動器,那麼NT在下次啓動試圖重新連接這個網絡驅動器時,又會提示你錯誤密碼或未知用戶名.... 煩得很。所以一般samba的應用基本都設定爲yes:encrypt passwords = yes。

當然,samba的用戶是基於Linux系統用戶的,sambad的加密工具是smbpasswd,最簡單的用法是smbpasswd -a username 這裏的username必須是/etc/passwd裏存在的用戶名,然後會提示輸入密碼和確認密碼,會生成一個新的密碼條目,放在/etc/smbpasswd這文件裏。另外,samba提供了一個工具—mksmbpasswd.sh,這是shell腳本,可以從/etc/passwd文件裏生成smbpasswd文件,用法是:cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd 。把passwd裏的用戶都加到smbpasswd裏。從安全起見,smbpasswd這個文件的存取權限請設爲600。 

username map

說明:這個參數可以讓你指定一個文件包含來自客戶機的用戶名與Linux系統用戶名之間的映射,文件的格式是每行一個映射,映射的格式是:Linux usename = client username ... 。

例如 root = admin adminstrator這樣,當客戶機的用戶是admin或administrator時,就被轉換成root。 這個功能對用戶管理很方便,可以讓管理員不需要對客戶或服務器上的用戶帳號大動干戈。 文件名通常用默認的/et/smbusers password level 說明:這是針對一些SMB客戶像Windows for Workgroup、OS/2之類而設的,像WFW這樣的系統在發送用戶密碼的時候,會把密碼轉換成大寫再發送,這樣就和samba的密碼不一致,這個參數可以設定密碼裏允許的大寫字母個數,這樣samba就根據這個數目對接收到的密碼進行大小寫重組,以重組過的密碼嘗試驗證密碼的正確性。這個值越大,組合的次數就越多,驗證時間就越長,安全性也越低!

例如: 如果這個值是2,用戶的密碼是abcd,但發送出去其實是ABCD,samba就會把這個ABCD進行大小寫重組,組合的密碼可以是下列:Abcd, aBcd, abCd, abcD, abcd, ABcd, AbCd, AbcD,aBCd,aBcD,abCD。

所以如果沒有必要,就把這個值定爲是零(一般應該是沒這必要,現在誰還用WFW這樣的系統)。這樣的話samba只嘗試兩次,一個是接收到的密碼,另一個嘗試的是這個密碼都是小寫的情況。即使是這樣,也還存在着一定的安全性問題。

guest account

說明:這個參數指定guest級帳戶的用戶名,可以是nobody、ftp,guest級別的用戶可以不要密碼就訪問給定的guest服務。

host allow

說明:這個參數指定那些機器可以訪問samba,例如:host allow = 192.168.1. 127. 指定192.168.1.0裏的所有機器都可以訪問。如果不允許子網裏的一臺機器訪問,可以這樣設:host allow = 192.168.1. EXCEPT 192.168.1.33 禁止192.168.1.33訪問。

host deny

說明:和host allow 相反是指定那些機器不能訪問,格式一樣。

2.3 日誌記錄參數

log file

說明:這個參數指定日誌文件的名稱,路徑一般放在/var/log/samba,可以在文件名後加個宏%m表示對每臺訪問samba的機器都單獨記錄一個日誌文件。 例如: log file = /var/log/samba/log.%m,如果host1、host2這臺機器訪問過samba,就會留下log.host1、log.host2這兩個日誌文件。

max log size 說明:這個參數指定最大日誌文件的大小,以KB爲單位。例如:max log size = 50k。

2.4 協議參數

announce version

說明:指定服務器的宣告版本號,默認是4.2,如果在WINDOWS的網上鄰居里查看samba服務器的屬性,就可以看見在類型一行裏有 Windows NT 4.2 Server 的字樣。一般不要去更改它,如果你要讓samba模擬NT像一點的話,可以改成4.0。

2.5 計算機瀏覽參數

os level

說明:os level 的值是個整數,決定了nmbd是否有機會成爲本地廣播區域的工作組裏的本地主瀏覽器,默認值是零,零則意味着nmbd失去瀏覽選擇。如果要nmbd更有機會成爲本地主瀏覽器的話,可以設爲65。

preferred master

說明:這個參數指定nmbd是否是工作組裏的首要的主瀏覽器,如果指定爲yes,nmbd在啓動的時候就強制一個瀏覽選擇。指定該參數爲yes時最好把domain master 也指定爲yes。用這個參數的時候要注意的是在samba服務器所在的子網上如果有其它的機器(不管是WINDOWS NT還是另一個samba服務器)也指定爲首要的主瀏覽器時,這些機器都會因爲爭奪主瀏覽器而在網絡上廣播,引起不必要的網絡性能下降。

local master

說明:這個參數指定nmbd是否試圖成爲本地主瀏覽器,默認值是yes,如果設爲no則samba服務器就永遠都不會成爲本地主瀏覽器。但即使設置了yes,也不等於samba服務器就會成爲本地主瀏覽器。只是參與本地主瀏覽器選擇。

domain master

說明:這個參數讓nmbd成爲一個域瀏覽器,取得各本地主瀏覽器的瀏覽列表,並把整個域的瀏覽列表遞交給各本地主瀏覽器。默認值是no。如果網絡上已經有一臺NT PDC,就不要把這個參數設爲yes,爭不過NT PDC的。

另外,如果你對計算機瀏覽服務不是很清楚的話,可以參考NT網絡管理資料。

2.6 共享資源設置參數

comment

說明:就是對共享的描述,可以是任意的字符串。例如:comment = Share Stuff。

path

說明:path是提供共享服務的路徑,可以用%u %m這樣的宏來代替路徑裏的unix用戶和客戶機的Netbios名。

例如:如果我們不打算用home段做爲客戶的共享,而是在/home/share/ 下爲每個Linux用戶以他的用戶名建個目錄,作爲他的共享目錄,這樣path就可以寫成:path = /home/share/%u; 。

用戶在連接到這共享時具體的路徑會被他的用戶名代替,要注意這個用戶名路徑一定要存在,否則,客戶機在訪問時會找不到網絡路徑。同樣,如果我們不是以用戶來劃分目錄,而是以客戶機來劃分目錄,爲網絡上每臺可以訪問samba的機器都各自建個以它的netbios名的路徑,作爲不同機器的共享資源,可以這樣寫path:path = /home/share/%m 。

writeable

說明:指定共享路徑是否可以寫,值是yes或no。

browseable

說明:指定共享是否可以瀏覽,默認是yes。

available

說明:指定共享資源是否可用,默認是yes,設爲no則關閉該資源的共享服務,用戶無法連接到該資源上。

exec 和 postexec,root preexec 和 root postexec

說明:指定在用戶與共享資源在連接和斷開時在服務器上執行一個命令,這兩對參數很有用,區別是root preexec 和root preexec 是以root的權限運行。比如在服務器把cdrom作爲共享,但cdrom是不能一直處於裝配狀態的。我們可以這樣設置

 

[cdrom] 
  comment = Server Cdrom 
  path = /mnt/cdrom 
  public = yes 
  browseable = yes 
  root preexec = /bin/mount -t iso9660 /dev/cd0 /mnt/cdrom 
  root postexec = /bin/umount /mnt/cdrom


public

說明:這個參數指明是否允許guest帳戶訪問,值爲yes或no,另一個和public相同意義的參數是guest ok。打印共享還有些專用的打印參數,闡述如下:

load printers

指定在samba啓動時是否自動把printcap文件裏的所有打印機加載,從而可以在瀏覽清單裏看到所有的打印機,默認是yes。printable 指定用戶能不能打印,默認是no,要讓一個打印共享可以讓用戶使用,必須設爲yes。print name 打印機名。

printer driver

打印機的驅動類型,這個參數可以讓WINDOWS知道遠程打印機上的類型,具體的值可以參考在WINDOWS裏安裝打印機出現選擇打印機類型時的打印機類型。比如Espon LQ1600K打印機:

printer driver = Espon LQ-1600K 以上就是samba的一些常用的配置,通過這些配置參數,我們已經可以建立起一個一般應用的文件服務器。雖然還有很多參數沒有提到,但samba本身可以用缺省值。 啓動samba,可以用/usr/sbin/samba start來啓動samba,也可以用ntsysv來啓動。

三、samba 進階

下列所介紹的是一些高級參數的配置,這些參數如果應用得當,可以更加靈活地在網絡上應用samba

1.宏

在基本配置裏有提到一些參數的可以尾隨%u、%m,這是samba裏定義的宏,宏用百分號後面跟一字符表示,在具體運作的時候就用實際的參數來代替。常用的宏有:

%S = 當前服務名;

%P = 當前服務的根路徑;

%u = 當前服務的用戶名;

%g = 給定%u的所在的主工作組名;

%H = 給定的%u的宿主目錄;

%v = Samba 版本號;

%h = 運行Samba的機器的主機名;

%m = 客戶機的NETBIOS名;

%L = 服務器的 NetBIOS 名;

%T = 當前的日期和時間;

靈活地應用宏可以很方便地管理比較複雜的網絡。

2.一些常用高級配置參數

2.1 全局參數

config file

說明:這個參數是全局參數,可以讓你用另一個配置文件覆蓋缺省的配置文件,如果文件不存在,該項無效。這個參數非常有用,也使得samba的配置更靈活,讓一臺Linux服務器模擬多臺不同配置的NT 服務器,滿足不同的需求。

比如,您想讓網絡上的某臺名字是host1的機器用它自己的配置文件,先在/etc/下爲host1配置一個名爲smb.conf.host1的文件,在缺省的smb.conf里加這行:

config file = /etc/smb.conf.%m

這樣,當host1請求連接的時候,smb.conf.%m被替換成smb.conf.host1,對host1來說,它所看到的samba就是由smb.conf.host1定義的。而其它機器還是用smb.conf。

deadtime

說明:這個參數值是個整數,單位是分鐘,用於切斷一個不活動的連接。當一個沒有打開任何文件的連接的不活動的時間超過datetime指定的的時間後,samba就自動切斷這個連接。這個參數可以節省服務器的資源消耗,尤其是在有大量連接的情況下。默認的值是零,零代表samba不自動切斷任何連接。

time server

說明:這個參數讓nmbd成爲WINDOS客戶的時間服務器。默認是no。

2.2 共享資源參數

dmin users

這個參數用來賦予用戶對共享資源的管理員權限,意味着這些用戶可以root一樣進行所有的文件操作,當然只侷限在這個共享資源上。這個選項要慎用,因爲任何這樣的用戶可以對該共享上的文件隨意進行操作。缺省是admin users = no。

例如:

admin users = Su_27 那麼Su_27這個用戶就是這個共享資源的管理員。

valid users

說明:指定共享資源的有效用戶,即允許訪問該資源的用戶。例如:valid users = user1, user2那麼user1和user2是有效用戶。

invalid users

說明:和valid users 相反,指定那些用戶不可訪問這共享資源。

max connections (S)

說明:指定一個服務的最大連接數目,用戶連接到該服務時如這個服務的連接數目已經達到指定值,這個新的連接請求把被拒絕。 例如: max connections = 100 最大連接數爲100以上是一些samba的高級配置參數,但samba的參數還有很多,本章不能一一詳述,如文件創建權限設定,代碼頁,文件名大小寫是否敏感等,可以參考samba的文檔。

四、什麼是NFS

NFS 是網絡文件系統(Network File System)的簡稱,是分佈式計算系統的一個組成部分,實現在異種網絡上共享和裝配遠程文件系統,從用戶角度看來,在這些遠程的文件系統操作和本地的文件系統上操作並沒有什麼不同。NFS由Sun 微系統公司(Sun Microsystem, Inc)開發,制訂了NFS 標準,並被IETF接受,納入RFC,作爲文件服務的一種標準(RFC1904,RFC1813)。NFS基於客戶/服務器結構,通過RPC(遠過程調用)實現,所有的NFS操作都由RPC過程來進行。NFS 服務器導出本地的目錄給遠程的NFS客戶,NFS客戶把對文件操作系統調用重定向到遠程的系統。在Linux裏,通常用knfsd來實現NFS服務,這是個運行在覈心空間的後臺守護程序,相對與用戶空間的NFS程序,有較高的響應性能。

五、配置NFS

1.創建或修改/etc/exports

exports 的每一行由導出路徑, 客戶名列表以及每個客戶名後尾隨的訪問選項構成, 訪問選項是可選的。

directory hostname(options) ...

options是可選的,如果不指定options,nfs把採用默認的選項。hostname也可以爲空,代表給任意外來主機提供服務。

例如: /usr ws1.mydomain.com 導出路徑/usr 提供給 ws1.mydomain.com 訪問。

/usr ws1.mydomain.com(rw) 同樣是給ws1.mydomain.com訪問,但具有寫入權限。

/pub (ro,insecure,all_squash)導出/pub, 任何機器都可以訪問, 允許用大於1024的端口進行連接, 並把所有的連接id映射到nobody.

主機名裏可以包含通配符*和?,例如 *.mydomain.com,代表mydomain.com裏的所有機器,但注意通配符不能匹配主機名裏的點,所以上面的*.domain.com不包括ws1.subdomain.mydomain.com這樣的機器。也可以用IP網絡/子網掩碼的形式來指定網絡上的可以訪問的機器。例如:192.168.1.0/255.255.255.0修改過/etc/exports後,需要告訴nfs進程重新檢查配置信息,可以用命令:exportfs或重新啓動nfs。

一些常用選項:

insecure 允許用戶可以從大於1024的端口進行連接。

secure 限制用戶只能從小於1024的端口號進行連接。

ro 只讀,注意在沒指定ro的情況是可寫的。

noaccess 讓導出路徑的所有子目錄對客戶不可見。用戶連接到這樣的路徑後看到的是個空目錄。

root_squash 這個選項可以把從客戶機的uid爲0的請求映射成nobody。

no_root_squash 這個選項和上面的相反,不映射uid 爲0的請求,這是缺省的。

rw 可寫,這是缺省的。

2.一個exports的例子

 

/home ws1(rw) ws2(rw) ws3(rw) 
  /usr/X11R6 ws1(rw) ws2(rw) ws3(rw) 
  /usr/share ws1(rw) ws2(rw) ws3(rw) 
  / ws1(rw,no_root_squash) 
  /home/ftp (ro) 
  /pub (ro) 
  /pub/private (ro,noaccess)

3.啓動NFS服務

啓動NFS服務可以用如下命令:

 

/etc/rc.d/init.d/nfs start

在修改exports文件後要告訴nfs配置信息變化,可以:

 

/etc/rc.d/init.d/nfs stop 
  /etc/rc.d/init.d/nfs start

4.怎麼樣裝配遠程NFS文件系統

如上例,裝配上述的/pub可以簡單用如下命令:

 

mount hostname:/pub /mnt

其中hostname是遠程主機的主機名。

查詢遠程機器上有導出文件系統的情況,可以用showmount -e hostname。

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