You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:42:45