gpt4 book ai didi

unix - 使用 sudo 时通过对话窗口提示用户输入密码

转载 作者:行者123 更新时间:2023-12-04 02:20:50 25 4
gpt4 key购买 nike

我需要使用 sudo 执行命令,并希望显示一个对话框窗口供用户输入其凭据。尝试使用 Applescript 自定义提示非常令人痛苦,并且使用内置的“使用管理员权限执行 shell 脚本”不允许自定义窗口,因此用户知道请求来自何处。

当然,有一种方法可以显示一个窗口,让用户输入他们的凭据并将值发送回 sudo 以执行命令? cocoasudo看起来很有希望,但它还在提示窗口中写入“cocoasudo”,我需要将其替换为我的应用程序名称。有没有人找到实现这种功能的解决方案?

最佳答案

构建自定义窗口超出了基本 applescript 的范围。如果需要,您将需要扩展您的编程技能。您需要了解如何利用 Apple 提供的工具来创建窗口等。底线是您需要学习 AppleScriptObjC 或 Objective-C/Cocoa API 以及如何在 Xcode 中使用它们。

话虽如此,如果您不想学习新东西,请使用您拥有的工具。这样的事情会起作用。您可以自定义图标、按钮、文本等。您甚至可以有一个隐藏的答案来保护用户在输入密码时的安全。无需进一步学习,您就可以使用 Applescript 做很多事情...

display dialog "OSAScript will need an Admin User name and password in order to make your changes." & return & return & "Please enter an admin username." default answer "" with icon 2
set username to text returned of result

display dialog "OSAScript will need an Admin User name and password in order to make your changes." & return & return & "Please enter an admin password." default answer "" with icon 2 with hidden answer
set pssword to text returned of result

do shell script "osascript -e \"return 1\"" user name username password pssword with administrator privileges

关于unix - 使用 sudo 时通过对话窗口提示用户输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com