如何从 Mac OS X 命令行将用户添加到组?

Mel*_*emi 216 mac osx-leopard command-line macos

试图从命令行将用户添加到组,但不知道如何?

具体来说,这是在 Mac OS X Server 10.5.8 上

喜欢将用户添加到“admin”和“wheel”组

Gor*_*son 306

sudo dseditgroup -o edit -a $username_to_add -t user admin
sudo dseditgroup -o edit -a $username_to_add -t user wheel
Run Code Online (Sandbox Code Playgroud)

它也可以用这样做dscl,但要做到这一点,你还是应该既增加了用户的短名称到组的GroupMembership列表,添加用户的GeneratedUID到组的GroupMembers列表。 dseditgroup在一次操作中同时处理两者。

  • 对不起,我不太清楚用法。假设我想将用户名 `bob` 添加到 `wheel` 中,它会是 `sudo dseditgroup -o edit -a bob -t user wheel` 吗? (13认同)
  • @夏期剧场:没错。 (4认同)
  • 在 osx 10.9.2 上仍然有效;如果您正在搜索 apache,请复制并粘贴:```sudo dseditgroup -o edit -a `whoami` -t user _www``` (4认同)
  • 我还必须添加`-p`,以便输入密码。 (2认同)
  • 也在 El Capitan (10.11.6) 工作! (2认同)

小智 11

对于那些正在寻找新版本 Mac OS 相同答案的人,我发现了这一点:要将用户添加到组,您需要此命令($USER 是当前登录的用户):

$ sudo dscl . append /Groups/wheel GroupMembership $USER
Run Code Online (Sandbox Code Playgroud)

我试图将我的用户添加到wheel组中,以便能够操作/Library/WebServer/Documents文件夹。除此之外,我必须更改该文件夹的权限,因为默认情况下它是755. 我已将其更改为775

$ sudo chmod -R 775 /Library/WebServer/Documents
Run Code Online (Sandbox Code Playgroud)

这样我就可以在不更改文件夹所有者的情况下操作文件夹内容。

附:仍在开发 Catalina (10.15.3)

  • 它在 10.14.4 上适用于我。 (2认同)

小智 5

看看这个链接:

http://osxdaily.com/2007/10/29/how-to-add-a-user-from-the-os-x-command-line-works-with-leopard/

添加用户很容易使用 OS X 附带的内置 GUI 工具完成,但是任何高级用户都可以欣赏使用命令行获得的可能效率。因此,本着效率的精神,这里是通过我们的好朋友 Terminal.app 将用户添加到您的 Mac OS X 系统所需的步骤。

重要的一点在这里:

创建并设置用户的组 ID 属性。

dscl / -create /Users/toddharris PrimaryGroupID 1000
Run Code Online (Sandbox Code Playgroud)