试图使文件在 USB 上可执行,但权限不“坚持”

Jul*_*ian 11 permissions usb executable

可能重复:
如何在 NTFS(或 FAT32)分区上“chmod”?

我使用LastPass作为我的密码管理器,我使用Sesame进行多因素身份验证。在 Windows 上这没问题,但我在 Windows 和 Linux 计算机之间交替使用,所以我需要在这两种情况下都可以使用 Sesame。

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

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

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

我对 Linux 并没有真正的经验,所以我怀疑我错过了一些明显的东西。可能与 USB 是 fat32 有关系(但我认为 fat32 分区上的文件默认应该是可执行的?),如果是这样 - 我有什么选择?

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

lur*_*uri 8

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

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

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


hto*_*que 6

看到这个答案。您基本上可以在安装设备时定义权限。在您的情况下,您会执行以下操作:

sudo mount -t vfat -o rw,user,umask=000 /path/to/device /path/to/mount/dir
Run Code Online (Sandbox Code Playgroud)

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

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

    UUID=your-uuid /path/to/mount/dir vfat rw,auto,user,umask=000 0 0
    
    Run Code Online (Sandbox Code Playgroud)