授权一个非管理员的开发商在低/Mac OS
-
11-09-2019 - |
题
我使用一个标准的用户账户为我每天的任务Mac OS。由于升级到雪豹我要求做下当一个程序运行在低:
"类型的名称和密码的用户在开发的工具'组,以允许开发的工具的访问做出改变"
虽然我知道的管理员用户名/密码,这是令人讨厌的(虽然只需要一次登录)。
开发工具包的访问要求的权利"的系统。特权。taskport.debug"从应用库-i386-苹果-达尔文。
什么是最好的方法解决这个?
解决方案
您需要将您的OS X用户名添加到_developer
组。请参阅更多信息,这个线程的职位。下面的命令应该做的伎俩:
sudo dscl . append /Groups/_developer GroupMembership <username>
其他提示
最后,我才得以摆脱使用在终端DevToolsSecurity -enable
它的。
由于 @joar_at_work !
仅供参考:我上的Xcode 4.3,并按下停用按钮,当它推出的第一次,不要问为什么,只是假设我的狗做我做到这一点:)
$ dseditgroup -o edit -u <adminusername> -t user -a <developerusername> _developer
您应该自己添加到开发工具组。在OS X将用户添加到一组的一般语法如下:
sudo dscl . append /Groups/<group> GroupMembership <username>
相信对于DevTools组名称是_developer
。
斯内德Deily的解决方案工作完全正常,只要你允许用户sudo
。
如果他不在,你可以su
到管理员帐户,然后用他的dscl . append /Groups/_developer GroupMembership $user
,其中$ user为用户名。
然而,我误以为它没有因为我在错误的用户名键入命令和它静静地失败。的
因此,输入此命令后,您应该验证检查。 这将检查如果$用户是在$基团,其中各变量分别表示用户名和组名。
dsmemberutil checkmembership -U $user -G $group
此命令将或者打印该邮件user is not a member of the group
或user is a member of the group
。
答案建议通过@史黛西*辛普森:
我们正在努力与所述问题在这些线并没有一个决议似乎的工作:
因为我是新来的所以我不能后在任一线。(第一种是实际上关闭,我不同意本地化的推理...)
无论如何,我们创建了一个工作周围使用AppleScript,人们可能会感兴趣。以下脚本应该是异步执行之前启动的自动化测试:
osascript <script name> <password> &
这里是脚本:
on run argv
# Delay for 10 seconds as this script runs asynchronously to the automation process and is kicked off first.
delay 10
# Inspect all running processes
tell application "System Events"
set ProcessList to name of every process
# Determine if authentication is being requested
if "SecurityAgent" is in ProcessList then
# Bring this dialogue to the front
tell application "SecurityAgent" to activate
# Enter provided password
keystroke item 1 of argv
keystroke return
end if
end tell
end run
可能不是很安全,但这是最好的工作-我们已经有允许测试运行,而不需要用户的干预。
我们希望,我可以得到足够的指向后答案;或有人可以撤消这个问题。问候。
这里是一个更好的解决方案,从
Mac OS X想要使用系统的钥匙串当编制的项目
- 开钥匙链接。
- 在左上角,解锁的钥匙扣(如果它被锁定)。
- 选择系统的钥匙串从左上角落。
- 发现你的分配证书和单击三角形.
- 双击'私人钥下你的分配证书。
- 在出,去访问控制标签。
- 选择允许所有应用程序访问这个项目'.
- 保存的变化。
- 关闭所有的窗户。
- 运行的应用程序。
我在雪豹和这一不太为我工作。但是,以下程序:
- 第一个加入另一个账户有管理员权限的滴答作响"允许用户来管理这个计算机"的帐户下,例如账户的用户名 测试
- 登录到 测试 帐户
- 启动模式,编制和跑我的iPhone项目。所有确定,没有错误被扔相关的权限
- 记录出来的 测试 帐户
- 记录在与另一个账户有管理员权限
- 带走了管理员权限从 测试 账户由中去除打勾,从"允许用户来管理这个计算机"的帐户下
- 登录后进入 测试 帐户
- 删除的iPhone项目目录,并再次检查出来从储存库(在我的情况svn)
- 启动模式,编制和运行的项目。我没有得到任何错误和程序运行良好的iPhone模拟器。
在运行:
sudo dscl . append /Groups/_developer GroupMembership <username>
根据上面的答案,您可以仍然获取促使自己的密码进入:
我们需要授权,管理员用户运行调试器。 这不仅将每个登录会话发生一次。的
它真正的意思是任何的 _developer 的groupmember用户,这样只是你非管理员用户/密码将在这里工作,但要获得(在重启后无提示)完全摆脱它,你还需要运行:
sudo DevToolsSecurity -enable
(与须藤运行它作为管理员用户/作为root将使它所以可以远程做到这一点没有GUI密码提示)
有关,我发现,在下面的线程的建议帮助:
停止“显影剂工具的访问需要采取的另一过程的控制进行调试以继续”警报
它建议在终端强>应用程序中运行下面的命令:
sudo /usr/sbin/DevToolsSecurity --enable