我看到许多使用ntfs
命令mount
或fstab
.在所有情况下,指定ntfs
为文件系统也与指定相关联umask=0222
,并且指定ntsf-3g
从不具有umask
参数。
在尝试研究时umask
,我遇到了许多解释,例如这个。我无法从这些解释中理解“0222”,除其他外,它比规范似乎描述的多一位数字。据我所知,它应该减少默认定义的权限。这也没有多大帮助。我猜测它与写作有关,因为在 Linux 中ntfs-3g
支持它,但至少在几年前ntfs
还没有。
默认权限是什么(我假设它们与目录和文件相关并且独立于文件系统),“0222”对此有何作用?为什么需要它?难道只是为了避免在 Linux 不支持时尝试写入分区时出现错误消息吗?
答案1
我不知道ntfs和ntfs-3g之间的区别。
关于 umask 选项,它指定一个位掩码,以便在文件访问权限中清除 umask 中设置的位。这些权限位是 RWXRWXRWX,其中 R 是读访问权限,W 是写访问权限,X 是执行访问权限,在特殊情况下使用一些较高位。高位 RWX 供正在访问的文件的所有者使用,下一个 RWX 组为文件组提供访问权限,最后一个 RWX 供所有人使用。由于这些权限一次三位,因此传统上它们是八进制的。前导 0 可以表示八进制,也可以表示某些特殊情况位的 0,因为它传统上无论如何都以八进制表示,具体取决于上下文。
因此,umask 222 或 0222(由于数字传统上是八进制的,所以它们是相同的)在二进制中是 010010010。这意味着 W 位是为用户、组和其他人设置的。在 umask 中设置该位会清除文件访问权限中的 W 位。
这并不是为了避免出现错误消息。通过将 umask 指定为 222,任何人都无法写入文件,否则它们可能是可写的。
答案2
这是我的 FSTAB 条目。注意 exec 选项:
UUID=66D6934FD6931DFD /mnt/SeagateExpansionDrive ntfs-3g auto,users,permissions,exec,x-gvfs-show 0 0
通过以上内容,我可以 chown、chmod 和 exec shell 脚本。我正在运行Ubuntu。