【问题标题】:Ubuntu run script as user when usb inserted插入USB时Ubuntu以用户身份运行脚本
【发布时间】:2017-05-02 11:38:59
【问题描述】:

我想将任何插入的 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 时,什么也没有发生。可能是什么原因造成的?

【问题讨论】:

  • 看来是权限问题。如果将文件写入 root 拥有的 w 777 权限的文件夹怎么办?

标签: ubuntu-16.04 udev


【解决方案1】:

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

该文件可能仍驻留在用户的家中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多