狮子的正确群组ID(gid)?


9

如果您在Lion中创建一个全新的管理员帐户,以下将是您的ID和组成员身份(来自$ id [new Lion account] | perl -lne 's/ /\n/g; s/,/\n\t/g; print;'):

uid=504(lt)
gid=20(staff)
groups=20(staff)
    402(com.apple.sharepoint.group.1)
    12(everyone)
    33(_appstore)
    61(localaccounts)
    79(_appserverusr)
    80(admin)
    81(_appserveradm)
    98(_lpadmin)
    100(_lpoperator)
    204(_developer)
    403(com.apple.sharepoint.group.2)
    401(com.apple.access_screensharing)

相反,较旧的OS X帐户将具有以下uid,gid等:

uid=501(andrew)
gid=501(andrew)
groups=501(andrew)
    403(com.apple.sharepoint.group.2)
    204(_developer)
    100(_lpoperator)
    98(_lpadmin)
    81(_appserveradm)
    80(admin)
    79(_appserverusr)
    61(localaccounts)
    12(everyone)
    401(com.apple.access_screensharing)
    402(com.apple.sharepoint.group.1)

请注意,gid=20(staff)在较新的帐户上,该用户是的成员20(staff)

当您将较旧的帐户升级到Lion时,将保留较旧的用户名和组名。

报告了staff升级后的帐户不具有组成员身份的问题:

  1. 无法安装升级自制软件;
  2. 在用户文件夹中的文件上按+ 时,显示“正在获取”CmdI
  3. ACL和权限问题

当前的解决方法似乎是这样的:

  1. 将用户添加到人员(即:$ sudo dscl。append / Groups / staff GroupMembership`whoami`或同等功能)
  2. 使用狮子恢复恢复默认的主文件夹的权限(请点击“无碟-狮子”选项卡)。

到目前为止,这已解决了升级过程中遇到的许多问题,而且电池寿命更长,CPU使用率更低。

但是,这是我有的问题:

1.我应该在gid=501gid=20帐户更改为时遇到麻烦吗,还是仅作为小组成员的成员就足够了?

2.成为20(staff)的成员是否等于gid = 20(staff)?

3.如果我确实更改了gid=帐户部分,该如何在Lion上进行呢?我只知道如何在Ubuntu上做...

Answers:


4

在OS X如何对待主要组与用户的其他组之间,我还没有看到任何区别,因此我认为这并没有真正的区别。我会为了整洁而“修复”它。这些命令应将主要组设置为20,然后在旧的Andrew组中添加“次要”成员身份:

sudo dscl . create /Users/andrew PrimaryGroupID 20
sudo dseditgroup -o edit -a andrew -t user andrew

(注意:使用dscl添加次要组成员身份并不能完全正确-而是使用dseditgroup。)


极好!!!这解决了问题。您需要重新启动(或从您的帐户注销/登录),或者直到id显示egid=501为止。谢谢!!!
2011年

如果你像我一样,那么你就需要这样的:sudo dscl . delete /users/andrew
orome

@raxacoricofallapatorius:删除整个用户记录-您可能不想这样做。
戈登·戴维森

@GordonDavisson:如果一开始忘记了用您的用户名代替andrew(就像我一样!),这正是您想要的。
orome

1

我担心对此没有简单的答案:

  • 访问文件时,您的孩子是否是staff该组成员或您只是该组成员并不重要
  • 创建文件时,可能很重要,因为新文件属于您,但从创建文件的目录中获取该组。但是,由于在这种情况下文件由您拥有,因此您仍然应该能够访问它

在大多数实际情况下,加入该小组可能就足够了(尤其是您的问题目前似乎已解决)。


1
谢谢。我将如何使用dscl以更改gid?
2011年

2
在某些Unix上确实如此,但在OS X上则不是;OS X上的文件从父文件夹继承其组分配,而不是基于用户的主要组。
戈登·戴维森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.