我在 Ubuntu 18.04 LTS 上,我编写了一个脚本,当有人从我的计算机上移除 USB 设备时,拍照并使用 ssmtp 发送电子邮件。
udev 规则运行良好并执行脚本,但只有“拍照”部分有效,而电子邮件发送无效。
当我自己在终端中执行脚本时,一切都很顺利,可以拍照,可以发送电子邮件。但当它被 udev 规则触发时,它就不起作用了。
规则:
ACTION=="remove", SUBSYSTEM=="usb", RUN+="/home/jensen/Documents/script.sh"
剧本:
#!/bin/bash
cd /home/jensen
fswebcam -r 640x480 --jpeg 85 webcamshot1.jpg
fswebcam -r 640x480 --jpeg 85 webcamshot2.jpg
fswebcam -r 640x480 --jpeg 85 webcamshot3.jpg
echo "Subject: test mail" | /usr/sbin/sendmail -v [email protected]
和 ssmtp 配置:
root=**********@gmail.com
mailhub=smtp.gmail.com:587
hostname=jensen
AuthUser=**********@gmail.com
AuthPass=**********
UseSTARTTLS=yes
UseTLS=yes
FromLineOverride=yes
我尝试使用 chmod 更改脚本文件的权限,但没有任何作用。可能是什么问题?