我正在开发一个OSX应用程序,它的某些功能需要ROOT权限 我想出了如何以root身份调试我的应用程序(只需在方案中)。
但我希望用户将其作为Root运行,以便他们可以访问其功能。
我该怎么做?
答案 0 :(得分:4)
如果它是典型的OS X应用程序包,您可以在终端中以root用户身份运行它:
sudo /Applications/YourAppName.app/Contents/MacOS/YourAppName
您可以保存一个包含此文件的文件,并将其命名为YourAppLauncher.command,它可以从Finder中双击。
或者,在AppleScript中:
do shell script "/Applications/YourAppName.app/Contents/MacOS/YourAppName" ¬
with administrator privileges user name "username" password "password"
然后将其保存为应用程序以root身份启动您的应用。它不会提示输入密码(如果您需要,请删除后具有管理员权限的所有内容。
答案 1 :(得分:4)
不要以root身份运行桌面应用程序。 Mac OS X框架不打算以这种方式使用,并且将导致不期望的行为(例如,root用户在图书馆中拥有的文件/文件夹;处理不响应"强制退出" ;潜在的安全漏洞)。
使用Authorization Services以root身份运行特定的有限特权操作。
答案 2 :(得分:1)
您可以创建本地服务器并使它在/ Library / LaunchDaemons中运行。这将使服务器自动启动并获得root特权。我找到了一篇很好的文章。