小编adl*_*ib.的帖子

协助使用安全授权或执行特权

您好SO的人,

我正在编写一个shell脚本,它将更改某些系统首选项,例如HostName(scutil --set HostName),它需要权限提升才能处理.该脚本将在Platypus生成的应用程序中运行.

一旦我的脚本调用scutil(例如),我当然会让安全管理服务器提示我进行身份验证.

查看安全手册页有两个我感兴趣的标志:

security authorize
security execute-with-privileges
Run Code Online (Sandbox Code Playgroud)

另外从手册页我得到一个例子:

security -q authorize -uew my-right | security -q authorize -i my-right
Run Code Online (Sandbox Code Playgroud)

" 授权一个权限并将其传递给另一个命令,作为向shell脚本添加授权的方法. "

但是,我没有得到我想要的东西,我想我只是不明白如何正确使用它.有没有人有任何额外的见解?我搜索时发现的东西让我更加聪明.我很感激帮助:

  1. 让脚本提示输入一次凭据,以提升整个脚本.
  2. 提示一次凭证,以便可以将这些凭证发送到脚本中需要提升的单个命令.

使用Platypus标志运行脚本使用管理员权限运行仍然最终运行$ EUID不为0(零)的脚本.

我想,这意味着脚本以某种方式提升,但不是以root身份运行.如果工作,这个提升似乎不足以调用scutil --set HostName x,因为该命令仍然要求提供凭据.

如果需要进一步说明,请大声说!

提前致谢.

最好的问候,泰德

macos shell

5
推荐指数
1
解决办法
786
查看次数

标签 统计

macos ×1

shell ×1