NFS和mount经常使用参数详解

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节。html

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

-o uid={USERID}
已挂载的NTFS卷上全部文件默认都是root全部的。若是提供uid参数就能够设置文件的全部者。这些参数能够是/etc/passwd中的任何用户名,或者任何表示用户id的数字node

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的数字。linux

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替换falsewindows

-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
async

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

-o posix={BOOL}
Windows保存了文件名的大小写格式,但在读取时并不进行区分。所以你能够创建一个名为MyFileName的文件,而后用mYfILEname的名称打开它。ide

Linux默认对于大小写是敏感的,MyFile、Myfile和myfile是不一样的文件。若是你但愿Linux对NTFS卷具备和Windows相同的表现,那么就应将posix选项设置为true,将选项设置为false将使驱动程序具备与Linux相似的表现(默认设置)。ui

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

-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

转载自:https://flatcap.org/linux-ntfs/info/ntfs-zh.html

相关文章
相关标签/搜索