尝试使文件在 USB 上可执行,但权限不“保留”

尝试使文件在 USB 上可执行,但权限不“保留”

可能重复:
如何在 NTFS(或 FAT32)分区上执行‘chmod’?

我在用着最后通行证作为我的密码管理器,我使用芝麻用于多因素身份验证。在 Windows 上这没有问题,但我在 Windows 和 Linux 计算机之间交替使用,因此我需要在两种情况下都使用 Sesame。

我在笔记本电脑上运行的是 Ubuntu 10.10,我下载了 32 位 LastPass Sesame(Ubuntu 10.04 LTS),并将文件(一个可执行文件和一个 .bin)移动到我的 USB 设备。按照指示,我尝试chmod +x sesame在可执行文件上运行(其名称为芝麻)。

我尝试从终端窗口执行此操作,但在执行完ls -la之后,我注意到文件的权限没有发生任何变化。我尝试sudo在开始时添加相同的内容,但这也没有任何变化(而且我没有收到任何错误消息或任何东西)。我还尝试以“图形”方式执行此操作,方法是右键单击 Nautilus > 属性 > 权限中的可执行文件,然后尝试勾选允许作为程序执行文件复选框 - 选中的标记一秒钟后才会再次消失。

如果我将相同的可执行文件移动到我的硬盘上,它可以很好地使其可执行(并执行它)。

我对 Linux 不是很熟悉,所以我怀疑我忽略了一些显而易见的东西。这可能与 USB 是 fat32 有关(但我认为 fat32 分区上的文件默认应该是可执行的?),如果是这样 - 我有什么选择?

只需说一下:使用 Wine 运行 Windows 版本的 Sesame 效果很好,但有点麻烦(至少如果我需要在尚未安装 Wine 的地方使用它)。

答案1

您不能 chmod fat32 文件...只有 linux 文件系统“接受”linux 权限。

最简单的方法是从您的主文件夹执行它,例如....将它复制到那里并对其进行 chmod,然后按照您之前尝试的方式在新位置执行它。

您还可以检查一下:当 CD 中没有设置可执行位时,如何运行该可执行文件?。基本上,它谈论的是知道文件是否真的是二进制文件,还是带有 .bin 扩展名的文本脚本。如果是这种情况,您可以使用 bash、python、ruby 或其他任何方式执行它。

答案2

这个答案。您基本上可以在安装设备时定义权限。对于您来说,您可以执行以下操作:

sudo mount -t vfat -o rw,user,umask=000 /path/to/device /path/to/mount/dir

对于永久性的改变,您可以将其添加到您的/etc/fstab

  • 使用 查找您的设备的 UUID(通用唯一标识符)sudo blkid
  • 将安装行添加到/etc/fstab

    UUID=your-uuid /path/to/mount/dir vfat rw,auto,user,umask=000 0 0
    

相关内容