使用usermod -aG可安全添加用户到附加组而不覆盖原有组权限,例如sudo usermod -aG docker,www-data alice将用户alice添加到docker和www-data组,需注意组名间用逗号分隔无空格,修改后需重新登录或使用newgrp命令使新组权限生效,操作前应通过groups或id命令查看当前组成员关系并确保目标组存在。

在Linux系统中,用户可以属于多个组,其中一个是主组(primary group),其他是附加组(supplementary groups)。将用户添加到附加组,可以赋予其访问特定资源的权限,比如读写某个目录或使用特定设备。使用 usermod -G 命令是实现这一操作的主要方式之一。但需要注意操作细节,避免误删已有组成员关系。
usermod -G 用于指定用户所属的附加组列表,但它会覆盖用户当前的所有附加组。如果使用不当,可能导致用户失去原有组权限。
例如,执行:
usermod -G developers alice会把用户 alice 的附加组设置为仅 developers,如果 alice 原本还属于 docker 或 www-data 组,这些组关系将被清除。
要追加组而不影响现有组,应使用 -aG(即 -a -G)选项:
usermod -aG developers alice这样 alice 会被添加到 developers 组,同时保留原有所有附加组成员身份。
在修改前,建议先查看用户当前所属的组,避免误操作:
groups alice或:
id alice输出示例如:
alice : alice users developers docker说明 alice 的主组是 alice,附加组包括 users、developers、docker。
假设要将用户 alice 添加到 docker 和 www-data 两个附加组:
sudo usermod -aG docker,www-data alice也可以分次添加:
sudo usermod -aG docker alice两种方式效果相同。注意:使用逗号分隔多个组名时,中间不能有空格。
修改组后,新组权限不会立即生效。用户需要重新登录才能获得新组的访问权限。可以在终端中执行:
newgrp docker临时切换到某个组以测试权限,或直接退出并重新登录。
另外,确保目标组存在。如果组不存在,可使用 groupadd 创建:
sudo groupadd docker最后,操作前建议备份用户信息或在测试环境验证命令。
基本上就这些。关键是记住:添加附加组用 usermod -aG,避免误用 -G 覆盖原有组。安全操作,事半功倍。
以上就是如何在Linux中添加用户到附加组 Linux usermod -G操作指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号