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

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

我正在尝试从命令行将用户添加到组中,但不知道如何操作。具体来说,这是在 Mac OS X 上服务器版本 10.5.8。

用户是“john”,组是“admin”和“wheel”。

答案1

sudo dseditgroup -o edit -a john -t user admin
sudo dseditgroup -o edit -a john -t user wheel

也可以使用 来执行此操作dscl,但要正确执行此操作,您需要将用户的简称添加到组GroupMembership列表中,将用户的 GeneratedUID 添加到组的GroupMembers列表中。 dseditgroup通过一次操作即可完成这两项操作。

答案2

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

$ sudo dscl . append /Groups/wheel GroupMembership $USER

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

$ sudo chmod -R 775 /Library/WebServer/Documents

这样,我就可以操作文件夹内容而无需更改文件夹的所有者。

ps. 仍在 Catalina (10.15.3) 上工作

答案3

查看此链接:

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

答案4

在 macOS“Sonoma”上,我使用以下脚本将用户添加到组中:

#!/bin/bash -ve

sudo grep admin /etc/sudoers

USER=foo

# add $USER to "admin" group
sudo echo $USER
sudo dseditgroup -o edit -a $USER -t user admin

相关内容