在 OS X 上设置文件系统挂载 umask

5 mount permissions fat32 usb-flash-drive macos

(使用雪豹。)当我插入一个格式化为FAT32的闪存驱动器时,驱动器上所有文件的权限都设置为0666;在有色人种ls和我的强迫症之间,这很烦人。有没有办法让它自动挂载不同的umask?

Zac*_*son 2

修改/System/Library下的文件可能会出现问题;输入您自担风险; 先备份等等。无论如何:这个网站被称为超级用户是有原因的。向前:

有一个文件:/System/Library/Filesystems/msdos.fs/Contents/Info.plist

该文件中有一个部分控制系统上的 FAT32 行为。在我的机器(Tiger,但应该与你的机器类似)中,该部分位于文件的底部,如下所示:

<key>MS-DOS FAT32</key>
<dict>
        <key>FSFormatArguments</key>
        <string>-F 32</string>
        <key>FSFormatContentMask</key>
        <string>DOS_FAT_32</string>
         ...
Run Code Online (Sandbox Code Playgroud)

... 等等等等等等。对于您在该部分中的目的来说,重要的部分是这部分:

        <key>FSMountArguments</key>
        <string></string>
        <key>FSMountExecutable</key>
        <string>../../../../../../sbin/mount_msdos</string>
Run Code Online (Sandbox Code Playgroud)

如果您检查 mount_msdos 的手册页,您将看到有一个用于设置掩码的“-m”参数。您可以通过更改相应的行来设置挂载参数:

        <key>FSMountArguments</key>
        <string>-m 644</string>
Run Code Online (Sandbox Code Playgroud)

或任何您喜欢的面具。如果您愿意,您也可以在其中使用其他选项(例如“-o rdonly”)。请注意,这当然适用于该文件系统类型的任何安装。所以要明智地选择。

如果您确实是强迫症患者,请不要花太多时间查看 plist 文件……其中有很多内容会分散您的注意力。;)