Ubuntu 运行 插入 usb 时作为用户执行脚本

Ubuntu run script as user when usb inserted

我想在特定用户登录下自动将任何插入的 USB 驱动器连接到位于 ubuntu 内 运行 的虚拟机。

为此,我设置了以下 udev 规则(来自 [1], [2]):

KERNEL=="sd?", ENV{ID_BUS}=="usb", SUBSYSTEM=="block", RUN+="/bin/su me -c '/home/me/automout.sh'"

为了测试 udev 工作,automount.sh 脚本按如下方式完成:

#!/bin/bash 

echo "$devpath">/home/me/2

手动运行时,在home中创建了空文件,但是插入usb时,没有任何反应。这可能是什么原因?

的确,正如 MiiinimalLogic 所建议的那样,问题出在脚本的所有者身上。 如果您想通过 su 以另一个用户的身份 运行 脚本,该脚本应属于 root。

该文件可能仍位于用户家中。