Mac下如何添加User到group中

本文介绍了如何在mac系统中使用dscl命令来管理和操作用户和群组,提供了可视化的手动操作方法、dscl命令的使用方法及示例,包括显示所有用户对应的group、添加用户到group、从group中删除用户等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因:

使用mac的时候需要像linux一样对用户和群组进行操作,但是linux使用的gpasswd和usermod在mac上都不可以使用,mac使用dscl来对group和user操作。

介绍:

$ man dscl
dscl(1)                   BSD General Commands Manual                  dscl(1)
NAME
     dscl -- Directory Service command line utility
DESCRIPTION
     dscl is a general-purpose utility for operating on Directory Service directory nodes.  Its commands allow one to create, read, and manage Directory Service data.

方法:


可视化方法:

System Preferences -> Users & Groups 然后进行手动操作,但是有缺点,就是不是所有的users都可以从这里看到,比如_www这里就不显示。

显示所有users对应的group:

$ sudo dscl . -list /groups GroupMembership

添加user到group:

$ sudo dscl . -append /Groups/groupname GroupMembership username

从group中删除user:

$ sudo dscl . -delete /Groups/groupname GroupMembership username


### 处理 Mac 上 MySQL ONLY_FULL_GROUP_BY 错误 在 Mac 环境下,当遇到 `ONLY_FULL_GROUP_BY` 的错误时,可以通过调整 MySQL 配置文件来解决问题。具体操作涉及编辑 `my.cnf` 文件并移除或修改 SQL 模式的设置。 #### 修改 my.cnf 文件 为了禁用 `ONLY_FULL_GROUP_BY` 设置,在 MySQL 配置文件中找到 `[mysqld]` 下的 `sql_mode` 参数,并将其值更改为不包含 `ONLY_FULL_GROUP_BY`[^1]: ```ini [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ``` 如果找不到该参数,则可以手动添加上述配置到 `/etc/my.cnf`, 或者对于某些安装方式可能是位于 `/usr/local/etc/my.cnf` 中的一个新部分之下[^4]。 完成更改后保存文件并重启 MySQL 服务使新的配置生效。这通常通过命令行工具实现: ```bash sudo brew services restart mysql # 或者如果是使用其他方式进行管理的话: brew services stop mysql && brew services start mysql ``` #### 使用 SQL 命令临时改变 sql_mode 除了永久性的配置变更外,还可以登录数据库并通过执行特定SQL语句暂时性地关闭此选项。进入 MySQL 客户端之后输入以下指令查看当前全局模式设置[^2]: ```sql SELECT @@GLOBAL.sql_mode; ``` 接着可以根据需求更新这些设定以排除掉引起问题的部分[^3]: ```sql SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); ``` 请注意这种方式仅适用于会话期间有效;一旦服务器重新启动就会恢复默认状态。因此建议还是按照前面提到的方法去持久化改动更为稳妥一些。 #### 注意事项 需要注意的是,虽然取消 `ONLY_FULL_GROUP_BY` 可能解决了现有查询兼容性的问题,但从长远来看遵循标准写法才是更好的实践方向。因为这个特性是为了提高数据一致性和防止潜在逻辑漏洞而引入的安全机制之一[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值