更改 USB 驱动器内的权限以执行 Shell 脚本

更改 USB 驱动器内的权限以执行 Shell 脚本

我读了这里的多个其他答案,但无济于事。显然chmodchown这里不适用。

问题在于:我有一个学校用的 USB 驱动器,里面有一个用于编程课的文件夹,我所有的 C 语言编程都是在这个文件夹中完成的。我编写了一个 shell 脚本,当调用该脚本时,它会创建一个新文件夹,其中包含一个模板 C 文件,以及Makefile该项目的模板,所有文件都以实验室的名称命名。这个脚本在我家里的笔记本电脑上运行良好,但由于我无法授予其执行权限,因此它无法在 USB 驱动器上运行。

以下是我迄今为止尝试过的方法:

  • chmodchown,例如sudo chmod 755 /dev/sdXsudo chown mrowsell /mnt/SCHOOL以及其上的许多变体(如上所述,不起作用)
  • umountremount-o fmask=111,dmask=000或者反过来,不记得答案是什么了)。还尝试了-o defaults,exec,noauto许多其他建议的变体。
  • /etc/udev/rules.d在名为中创建一条新规则99-school-usb.rules。此解决方案需要使用不同的线路进行多次尝试。本质上可以归结为:

    SUBSYSTEM !="usb_device", ACTION !="add", GOTO="school_rules_end"
    SYSFS{idVendor} =="8564", SYSFS{idProduct} =="1000", SYMLINK+="school"
    MODE="0755", OWNER="myusername", GROUP="myusergroup"
    LABEL="school_rules_end"
    
  • 当然,VID:PID 已更改为与我的 USB 记忆棒匹配。这仍然不起作用。

  • 在 中添加一个新条目fstab。这样做的问题是启动时该记忆棒可能存在也可能不存在,如果不存在则会导致问题。这也不起作用,因为上面的umount/mount选项是不同方式的相同内容。

因此,要么是我没有正确输入 rules.d 内容,要么是我遗漏了其他显而易见的内容。

相关内容