【问题标题】:Dealing with permissions issues on shared computer处理共享计算机上的权限问题
【发布时间】:2020-12-30 05:47:11
【问题描述】:

我正在创建一台共享计算机 (Mac),可以在多个 QA 测试人员之间共享以运行 Appium 测试。这些测试人员应该能够使用他们的凭据登录计算机并执行将运行git checkout mastergit pullbundle update 的脚本。我们有 Windows VM,它遵循类似的过程来执行 selenium 浏览器自动化,但是由于 MacOS 的文件权限,这个过程变得更加困难。当一个用户运行bundle updategit pull 时,创建的文件归该用户所有(存储在/Users/Shared 下)。当第二个用户登录并运行这些命令时,他通常会收到一条权限被拒绝消息,因为他不拥有正在编辑的文件。有没有一个体面的方法来解决这个问题?我知道我可以在执行每个命令后运行chmod -R go=rwx /Users/Shared/..,但这似乎不是一个优雅的解决方案,随着时间的推移会很好地扩展。

【问题讨论】:

  • 将您的 git 存储库置于共享模式。在您的目录上设置 sgid 粘性位。使用github.com/sitaramc/gitolite 作为服务器。很大程度上取决于您的实际工作流程。

标签: ruby git bundler file-permissions


【解决方案1】:

我不知道这是否适用于 mac,但在 linux 机器上,您可以在目录上使用 setgid,以便在其中创建的文件将设置该 gid....如果所有这些用户共享同一个组,他们将能够在无需更改权限的情况下工作。

【讨论】:

  • 我认为macOS默认使用继承组的BSD行为并设置setgid位启用SysV/Linux使用用户主组的行为。
猜你喜欢
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2013-11-25
  • 2011-04-10
  • 1970-01-01
  • 2022-09-29
相关资源
最近更新 更多