我编写了一个 plist,以便 launchctl 在启动时运行特定命令。它按预期工作,只是它会要求我输入管理员密码,而我不希望输入密码。有人知道如何阻止它询问我管理员密码吗?
这是我的私人 macbook,所以我知道管理员密码并可以完全访问该机器。
我的plist文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>veracrypt_auto_mount</string> <!-- org.mongodb.mongodb perhaps? -->
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string>fabio</string>
<key>GroupName</key>
<string>admin</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/VeraCrypt.app/Contents/MacOS/VeraCrypt</string>
<string>--mount</string>
<string>/dev/disk0s7</string>
<string>/Volumes/Veracrypt</string>
<string>--password=XXXXXX</string>
</array>
答案1
这可能取决于你把 .plist 文件放在哪里以及该文件的权限是什么。如果你把 .plist 文件放进去/Library/LaunchDaemons
并赋予它 root 权限,那么它将在无需用户干预的情况下运行。
从终端(在应用程序/实用程序中)授予 .plist 文件正确的权限:
sudo chown root:wheel yourfile.plist
注意事项:使用 sudo 需要输入密码;确保 .plist 文件确实位于/Library/LaunchDaemons