第 2 关——Linux用户所属组变更

  • 任务描述
  • 相关知识
    • Linux查看用户所属组
      • 使用 id 命令查看
      • 使用 group 命令查看
    • Linux修改用户所属组
      • 使用 usermod 命令修改用户组
      • 使用 useradd 命令创建用户的时候指定用户组
  • 编程要求
  • 评测说明

任务描述

恭喜你已经完成了第一关的挑战,现在你已经学会了如何创建一个新用户组和删除一个已经存在的用户组,接下来,我们一起学习如何修改用户所属组。

本关的任务是为了新创建的用户修改其所属组。

相关知识

Linux查看用户所属组

Linux中查看一个用户所属组的两种方法:

  1. 使用 id 命令查看
    命令格式如下:
id [命令参数] 参数

参数为要查询的用户名,默认是当前登录用户。

常见命令参数:

  • -g--group:显示用户所属群组的ID
  • -G--groups:显示用户所属附加群组的ID
  • -n--name:显示用户,所属群组或附加群组的名称

id命令的执行权限是面向所有用户。

案例演示

使用id命令查看用户fzm所属组:
在这里插入图片描述
使用group命令查看:
命令格式如下:

groups 参数

参数为要查询的用户名,默认是当前登录用户。

执行权限:groups命令的执行权限是面向所有用户。

案例演示

使用groups命令查看用户fzm所属组:
在这里插入图片描述
一个用户是可以属于多个组的。


Linux修改用户所属组

使用usermod命令修改用户组

如果要一个用户仅仅属于某一个组,而不是同时属于多个组,则使用如下命令:

命令格式如下:

usermod -g 组名 用户名

如果要给一个用户添加一个新的组,同时保留原来有所的组,则使用如下命令:

命令格式如下:

usermod -a -G 组名 用户名

usermod必须以root权限才能执行,如果是普通用户想执行usermod时,需要在命令前加sudo命令来提升权限为root权限。

案例演示一

将创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令将newUser用户所属组修改为newGroup
在这里插入图片描述
首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组,因为默认情况下新创建用户的时候会默认创建一个与用户名同名的私有组,并将新创建的用户所属组设置为私有组。接下来使用usermod命令来修改用户所属组,最后查看修改是否成功。

案例演示二

新创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令为newUser用户新添加一个组newGroup
在这里插入图片描述
首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组。接下来使用usermod命令来为用户添加一个新的组,最后查看添加是否成功。

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户newUser
  • 使用usermod命令为用户newUser新添加一个已经存在的用户组oldGroup

注意:本平台执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

评测说明

补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

开始你的任务吧,祝你成功!


时间顺流而下,生活逆水行舟。


#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#
# 新创建一个用户newUser
useradd newUser
# 使用usermod命令为用户newUser新添加一个已经存在的用户组oldGroup
usermod -a -G oldGroup newUser
#************end**************#

欢迎大家也来头歌和我一起学习Linux从入门到精通喔!加油!年轻人!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐