1. 程式人生 > >NFS和mount常用參數詳解 本文目錄

NFS和mount常用參數詳解 本文目錄

2-0 元數據 處理 del 自己的 通過 opp lena 返回頁面頂部

NFS和mount常用參數詳解

本文目錄

  • NFS權限參數配置
  • mount掛載參數
  • 原始驅動程序的掛載選項。
  • 新驅動程序的掛載選項。
  • 怎樣改變已經掛載的NTFS卷的權限?
  • 怎樣自動掛載一個NTFS卷?

NFS權限參數配置

ro                      只讀訪問 
rw                      讀寫訪問 
sync                    所有數據在請求時寫入共享 
async                   NFS在寫入數據前可以相應請求 
secure                  NFS通過1024以下的安全TCP/IP端口發送 
insecure                NFS通過1024以上的端口發送 
wdelay                  如果多個用戶要寫入NFS目錄,則歸組寫入(默認) 
no_wdelay               如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。 
hide                    在NFS共享目錄中不共享其子目錄 
no_hide                 共享NFS目錄的子目錄 
subtree_check           如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認) 
no_subtree_check        和上面相對,不檢查父目錄權限 
all_squash              共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。 
no_all_squash           保留共享文件的UID和GID(默認) 
root_squash             root用戶的所有請求映射成如anonymous用戶一樣的權限(默認) 
no_root_squas           root用戶具有根目錄的完全管理訪問權限 
anonuid=xxx             指定NFS服務器/etc/passwd文件中匿名用戶的UID 
anongid=xxx             指定NFS服務器/etc/passwd文件中匿名用戶的GID 

mount掛載參數

-t ntfs
告訴掛載命令將要掛載的文件系統類型。這個選項並不是必須的,因為mount會自動識別大多數的文件系統。
-r
以只讀形式掛載卷。掛載操作默認以可讀寫形式掛載卷。除非指明,否則驅動將會以只讀形式自動掛載文件系統。
-o ro
和-r相同。
-o umask={VALUE}
因為安全的原因,默認給予已掛載的NTFS卷的權限為rwx------。參數umask控制這些文件和路徑的權限。詳細的資料和例子請參見4.9節。

mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

-o uid={USERID}
已掛載的NTFS卷上所有文件默認都是root所有的。如果提供uid參數就可以設置文件的所有者。這些參數可以是/etc/passwd中的任何用戶名,或者任何表示用戶id的數字

mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap
mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500

-o gid={GROUPID}
已掛載的NTFS卷上所有的文件默認都是root組所有的。如果提供gid參數就可以設置文件的組。這些參數可以是/etc/group中的組名,或者任何表示組id的數字。

mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers
mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520

原始驅動程序的掛載選項。

一些選項以true或false作為參數。
你可以用yes或1替換true。
也可以用no或0替換false

-o iocharset={NAME}
NTFS以Unicode形式保存所有的文件名和路徑名,這樣就可以表示任何語言中的任何字符。而Linux的NTFS驅動則默認將這些名稱轉換為ASCII形式,這對某些人來說是合適的,但是對於那些包括 ? 或 é 等字符的語言則不合適了。

NLS(本地語言支持)決定字符是如何被顯示的。你可以選擇像Unicode一樣可以表示所有字符的utf8,或者你自己的代碼頁,比如iso8859-1(西歐)、iso8859-2(中歐)、gb2312(簡體中文)、iso8859-8(希伯來文)。下面是一些掛載選項的例子:

mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8
mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2
mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312

utf8=true
如果你的內核不支持utf8,那麽你可以通過這個選項啟用NTFS驅動程序對utf8的支持。你應該在任何需要的地方使用選項-o iocharset=utf8

mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=tru

-o posix={BOOL}
Windows保存了文件名的大小寫格式,但在讀取時並不進行區分。因此你可以建立一個名為MyFileName的文件,然後用mYfILEname的名稱打開它。

Linux默認對於大小寫是敏感的,MyFile、Myfile和myfile是不同的文件。如果你希望Linux對NTFS卷具有和Windows相同的表現,那麽就應將posix選項設置為true,將選項設置為false將使驅動程序具有與Linux類似的表現(默認設置)。

mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true

-o show_sys_files={BOOL}
如果這個選項被設置為true,那麽文件系統的元數據將會處於可見狀態。如若不可見,可通過提供它們的名稱,比如ls -l $MFT,使它們被顯示地列出。

NB 因為glibc的局限,$MFT可能因為其inode值為0而不會被顯示在列表之中。

mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true

返回頁面頂部

新驅動程序的掛載選項。

要找出你在使用的驅動類型,請參見4.4節。這一節只討論適用於新驅動程序的選項,所有的常用選項都在4.6節中進行說明。

一些選項以true或false作為參數。
你可以用yes或1替換true。
也可以用no或0替換false。

-o nls={NAME}
NTFS以Unicode形式保存所有的文件名和路徑名,這樣就可以表示任何語言中的任何字符。而Linux的NTFS驅動則默認將這些名稱轉換為ASCII形式,這對某些人來說是合適的,但是對於那些包括 ? 或 é 等字符的語言則不合適了。

NLS(本地語言支持)決定字符是如何被顯示的。你可以選擇像Unicode一樣可以表示所有字符的utf8,或者你自己的代碼頁,比如iso8859-1(西歐)、iso8859-2(中歐)、gb2312(簡體中文)、iso8859-8(希伯來文)。下面是一些掛載選項的例子:

mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8
mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2
mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312

-o fmask={VALUE}
-o dmask={VALUE}
參數umask同時改變文件和路徑兩者的權限,fmask以同樣的方式作用於文件而dmask作用於路徑,這些選項也可以被組合使用。下面是一些例子:

mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222
mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222
mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222

-o case_sensitive={BOOL}
Windows保存了文件名的大小寫格式,但在讀取時並不進行區分。因此你可以建立一個名為MyFileName的文件,然後用mYfILEname的名稱打開它。

Linux默認對於大小寫字母是敏感的,MyFile、Myfile和myfile是不同的文件。如果你希望Linux對於NTFS卷具有和Windows相同的表現,那麽就應將case_sensitive選項設置為false。將選項設置為true將使驅動具有和Linux類似的表現(默認設置)。

mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true
mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false

-o sloppy={BOOL}
默認情況下,驅動程序在任何選項發生錯誤時將拒絕進行掛載,添加參數sloppy後驅動程序將完全忽略這些錯誤參數。

mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true
mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false

-o errors={VALUE}
這個參數控制驅動程序處理問題的方式。默認為嘗試進行處理並繼續執行,任何的corruption都會被標記並留待以後處理。另一種選擇是讓驅動程序嘗試處理並進行恢復,目前驅動程序可以做的唯一恢復是用備份替換當前的啟動扇區。

mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue
mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover

怎樣改變已經掛載的NTFS卷的權限?

共有三個可以控制文件和路徑的權限和所有權的選項,分別是:umask、uid和gid。它們在常用掛載選項一節中都有提及。

下面是每個選項以及它們對文件所起作用的一些例子。我們每次都會使用相同的掛載命令,並且只顯示相關的選項。

mount /dev/hda1 /mnt/windows -t ntfs -r

umask是對權限的過濾器,因此它的工作方式和chmod恰好相反。全部權限等價與777(rwxrwxrwx),umask值0222(-w--w--w-)則代表權限555(r-xr-xr-x)。

考慮到安全的原因,默認的umask被設置為0077。

mount ... -o umask=0277

-r-x------ 1 root    root    28096 Aug 24 1996 chkdsk.exe

mount ... -o umask=0222

-r-xr-xr-x 1 root    root    28096 Aug 24 1996 chkdsk.exe

到此為止,這些文件的所有者和所有組仍為root,下面我們將會嘗試使用uid和gid選項。

mount ... -o uid=flatcap

-r-x------ 1 flatcap root    28096 Aug 24 1996 chkdsk.exe

mount ... -o gid=winuser

-r-x------ 1 root    winuser 28096 Aug 24 1996 chkdsk.exe

mount ... -o uid=flatcap,gid=winuser

-r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe

最後我們將組合一些選項以得到精確的權限控制。下面的例子中,我們將賦予用戶flatcap完全的控制權限,賦予組winuser中的用戶讀權限,而其他所有用戶則沒有任何訪問權限。

mount ... -o umask=0027,uid=flatcap,gid=winuser

-rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe

返回頁面頂部

怎樣自動掛載一個NTFS卷?

一旦你熟悉了掛載命令,就可以通過向/etc/fstab (filesystem table)中添加指令行來告訴Linux如何自動掛載卷了。

下面是一些掛載命令的例子和等價的fstab中指令行。
NB 不必擔心行尾 0 0 表示的意思。

mount /dev/hda1 /mnt/windows -t ntfs -r

/dev/hda1 /mnt/windows ntfs ro                                    0 0

這裏我們將 -r 轉換為等價的 -o ro。

mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

/dev/hda1 /mnt/windows ntfs ro,umask=0222                         0 0

mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser

/dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0

NFS和mount常用參數詳解 本文目錄