NFS和mount常用參數詳解 本文目錄
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常用參數詳解 本文目錄