Answers:
在OS X上,staff
除非您或您的用户目录管理员更改了主组,否则主组始终是。
什么是主要人群?默认情况下,用户的主要组是该用户创建的所有文件的所有者。
为了chmod
在您的计算机上使用,您可以使用数字用户ID(例如501)或帐户名(例如danielbeck
)。后者不同于您通常在UI中看到的用户名(例如Daniel Beck)。
您可以使用以下任意一种方法来确定您的帐户名称:
它是Finder标题或侧边栏中的主目录名称(除非您对其进行了自定义)
whoami
在Terminal中运行–因此chown -R $(whoami):staff
就足够了。您也可以使用来建立主要小组groups $(whoami) | cut -d' ' -f1
。
打开系统偏好设置»用户和组,必要时解锁窗格,右键单击您的用户名(“ 当前用户”部分中的单个列表条目),然后选择“ 高级选项”。这是新打开的对话框窗口中的“ 帐户名称 ”字段。此对话框还显示您的主要组。
id
在终端中运行以获取更详细的输出。这将包括您的数字用户ID。它还会列出您所属的所有群组,而不仅仅是您的主要群组。第一组是主要的。
staff
。无论如何,我的Mac OS X上都不行。
这将显示您的用户名。
$ id -u
502
这将显示您的组名。组名在括号内。
$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)
我只会评论。我在这个网站上没有足够的业力。
我不知道为什么有人反对@callaginn,因为他提出了一个有效的观点。
以下方法是有效的(并且可能是shell脚本编写的最佳选择):
id -u # returns UID
id -un # returns username
id -g # returns primary (a.k.a. effictive) GID
id -gn # returns primary Group Name
请参阅man id
以获取更多选项。
为了回答这个特定的问题,如果我正在编写在任何环境下staff
都可以使用的脚本,我不假定默认组正在使用中,相反,如果编写的脚本可以为任何用户运行,我将执行以下操作(他们是否修改了系统):
chown "$(id -un):$(id -gn)" some_file
最好总是与平台无关(如果不是很长时间的权衡),因为以后您将减少技术债务。
请注意,应该以最大的信心使用chown
的-R
标志。您可能真的会弄乱您的系统(尽管值得注意的是,自从实施以来,Apple很难做到这一点System Integrity Protection
)。
例如,考虑一下,如果您chown -R 755 /var
不是chown -R 755 /var/www
以System Integrity Protection
残障人士为根,我相信您会这样做的。我无法告诉您什么将首先中断,但是在达尔文系统上它将首先中断,但是请您相信我说的不是很好。
希望有人发现这有帮助。
whoami
,您还可以id
在与posix shell和csh兼容的oneliner中使用。chown -R `id -u`:`id -g` FOLDER