gpt4 book ai didi

java - 写入/usr/shared/时使用 "sudo"(临时)提升权限

转载 作者:行者123 更新时间:2023-12-01 14:06:22 30 4
gpt4 key购买 nike

我正在为学校开发一个 OSX 应用程序,同一台 Mac 的多个用户将能够基于共享配置(即数据库连接信息)启动该程序。根据设计,没有管理权限的普通用户不应被允许修改配置。

基于unix约定,我将配置文件存储在/usr/shared/下,但这导致了另一个问题:- 即使以管理员身份登录,应用程序也无法写入上述位置。如果用户需要更改配置文件,则必须使用提升的权限(使用 sudo)启动应用程序。

我的问题是,使用“sudo”写入受限区域是否是 mac osx 中的常见做法?

最佳答案

我想说,在 Mac 上使用“sudo”只是某些类型用户的常见做法,例如网络管理员和喜欢做更多事情而不仅仅是使用标准应用程序的用户。

我当然不希望学生和老师使用终端和 sudo。

在开发 OSX 应用程序时,Apple 从安全框架中提供授权服务,以便应用程序能够将特权功能与标准功能分开,并在需要时提示用户输入凭据。

您将在“系统偏好设置” Pane 中看到这一点,您可以在其中看到挂锁图标。任何应用程序都可以调用这些服务,但我不确定 Java 是否可以。这是 Apple 推荐的处理此类问题的方法,此外还使用他们称之为“SMJobBless”的功能将特权任务分解到单独的应用程序中。

有趣的是,您的问题领域直接映射到 Apple's described scenario使用该系统进行“简单、 self 限制的应用程序”。

话虽这么说,如果只有您自己或其他网络管理员要修改配置文件,那么我建议您忽略应用程序中用于修改它的任何功能,并直接使用 sudo 和文本编辑器(例如当需要时,作为 vi。

关于java - 写入/usr/shared/时使用 "sudo"(临时)提升权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866978/

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