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

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常用参数详解 本文目录的更多相关文章

  1. NFS和mount常用参数详解

    NFS权限参数配置 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 in ...

  2. DB2创建数据库常用参数详解

    转自http://czmmiao.iteye.com/blog/1335801 DB2创建数据库常用参数详解 本文只介绍DB2 create database语法中的常用参数http://publib ...

  3. chattr的常用参数详解

    chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...

  4. find常用参数详解

    find常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的 ...

  5. tcpdump常用参数详解

    tcpdump常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 好久没有更新我的博客了,看来自己最近还没有在放假中回过神来啊,哈哈~是不是也有小伙伴跟我一样呢?回归正题, ...

  6. cat常用参数详解

    cat常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基 ...

  7. rsync常用参数详解

    rsync常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux中,一切皆是文件,包括你的终端,硬件设备信息,目录,内核文件等等.所以工作中我们难免会遇到拷贝文件 ...

  8. Nginx核心配置文件常用参数详解

    Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/ ...

  9. nmap常用参数详解

    nmap常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 借用英雄联盟的一个英雄赵信的一句话:“即使敌众我寡,末将亦能万军丛中取敌将首级!”.三国关羽,万军丛中斩了颜良, ...

随机推荐

  1. AtCoder Beginner Contest 132 E - Hopscotch Addict

    bfs 位置+状态 just need to calculate min value(only it is useful), so O(1*x) 挺有趣的一道题... #include <cst ...

  2. thinkphp url大小写

    系统默认的规范是根据URL里面的模块名.控制器名来定位到具体的控制器类的,从而执行控制器类的操作方法. 以URL访问 http://serverName/index.php/Home/Index/in ...

  3. 最大流Dinic算法的一些优化 [网络流][最大流]

    明天省夏要讲网络流啦!晚上翻出自己的模板发现是蓝书模板QwQ..拿出以前的提交代码(AC过的?) 曾经的提交记录 在luogu上重新提交一遍,结果gg...OVO 没有去除多余的inline 去除了多 ...

  4. flink提交文件出现java.io.IOException:unable to close file because the last block does not have enough number of replicas异常

    当提交已经打包好的jar包时候,控制台出现以下的错误.

  5. hysbz3676 回文串 回文自动机

    回文自动机模板题 头铁了一下午hdu6599,最后发现自己的板有问题 先放这里一个正确性得到基本确认的板,过两天肝hdu6599 #pragma GCC optimize(2) #include< ...

  6. Java反射简介

    Java反射简介 1.Class类 1) 在面向对象的世界里,万事万物皆对象.(java语言中,静态的成员.普通数据类型除外) 类是不是对象呢?类是(哪个类的对象呢?)谁的对象呢? 类是对象,类是ja ...

  7. 资源-Android:Android

    ylbtech-资源-Android:Android 1.返回顶部 1. https://developer.android.google.cn/studio 2. 2.返回顶部 1. 1.1 1.2 ...

  8. winform程序捕获全局异常,对错误信息写入日志并弹窗

    使用场景:在winform程序中如果没对方法进行try catch操作,若方法内出错,则整个程序报错并退出,如下图 如果程序已在客户手中,若没对错误的详细信息进行拍照,我们则不知道错误原因是什么.我们 ...

  9. C#窗体代码相关笔记

    获取ComboBox下拉列表的所有选项值 ArrayList al = new ArrayList(); foreach (string item in this.comboBox2.Items) { ...

  10. 记mysql 启动不了了的解决方法

    系统: centos7 本地的环境,mysql启动不了,查看 /var/log/mysqld.log 有以下内容 2018-12-24T08:05:38.090527Z 0 [Warning] TIM ...