macOS下LaunchDaemon调用chmod失败(退出码1)求助
macOS下LaunchDaemon调用chmod修改Chrome权限失败问题
在macOS系统中,我通过LaunchDaemon运行bash脚本,目的是定时修改Google Chrome应用的权限。手动用sudo执行该脚本一切正常,但通过LaunchDaemon调用时,chmod命令返回退出码1,执行失败。
脚本预期逻辑:21:00-21:59将Chrome权限设为755;22:00及以后或21:00前设为700。
脚本内容(chrome-permissions.sh)
#!/bin/bash # 获取当前24小时制小时数(00..23) HOUR=$(date +%H) # 21:00-21:59 解锁Chrome if [[ $HOUR -ge 21 && $HOUR -lt 22 ]]; then /bin/chmod 755 "/Applications/Google Chrome.app" # 22:00及以后 锁定Chrome elif [[ $HOUR -ge 22 ]]; then /bin/chmod 700 "/Applications/Google Chrome.app" fi # 21:00之前,Chrome保持锁定状态
LaunchDaemon配置文件(/Library/LaunchDaemons/com.example.chromepermissions.plist)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.example.chromepermissions</string> <key>ProgramArguments</key> <array> <string>/Library/Scripts/chrome-permissions.sh</string> </array> <key>StartInterval</key> <integer>300</integer> <key>RunAtLoad</key> <true/> </dict> </plist>
错误日志(来自/tmp/chrome_debug.log)
=== Script started at Fri Jan 10 22:52:26 CET 2025 === Current hour is 22 => LOCKING Chrome (chmod 700) Exit code of chmod: 1 === Script ended (locked) ===
已排查内容
- 脚本和plist文件均在正确目录,且归属root用户;
- 已启用SIP(系统完整性保护),但该机制不应影响
/Applications/Google Chrome.app的权限修改; - 手动
sudo执行chrome-permissions.sh无任何错误。
请问是否有人遇到过类似问题,或能指出LaunchDaemon调用时chmod失败的原因?
内容的提问来源于stack exchange,提问作者Atrox
相关产品推荐
相关产品推荐

