第 3 关——Linux用户/用户组编辑

  • 任务描述
  • 相关知识
    • Linux查看用户属性命令
    • Linux用户信息修改命令
    • Linux用户组信息修改命令
  • 编程要求
  • 评测说明

任务描述

恭喜你已经顺利通过了以上两个关卡任务,本关主要讲解如何修改用户和用户组信息,通过本关的实训,你将学会如何对一个已经存在的用户或用户组的信息进行修改。

本关的任务是对一个已经存在的用户和用户组信息的修改。

相关知识

Linux查看用户属性命令

Linux中使用id命令可以查看用户的大多数信息。
具体使用方法请参看上一关的实训。

Linux中还可以通过查看/etc/passwd文件来获取用户的信息。
具体方法可以参考背景知识。

Linux中还可以使用finger命令来查询用户的信息。

注意:Ubuntu系统中默认没有安装finger命令,用户可以通过以下命令来安装finger,然后就可以使用finger

sudo apt-get install finger

具体使用方法和命令格式如下:

finger [命令参数] 参数

常见命令参数:

  • -l:多行显示
  • -s:单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。

案例演示

使用finger命令查看用户信息

例如:查看系统中已经存在的用户newUser信息
在这里插入图片描述


Linux用户信息修改命令

Linuxusermod命令是最强大的用户账号修改实用工具。

usermod命令我们在上一关只是简单的用到其-g-G参数对用户的所属组进行修改,本关我们将进一步使用usermod命令的其它属性进行修改更多的属性。

命令格式如下:

usermod [命令参数] 参数

常见命令参数:

  • -c<备注>:修改用户账户的备注文字
  • -d<登入目录>:修改用户登入时的目录
  • -e<有效期限>:修改账号的有效期限
  • -f<缓冲天数>:修改在密码过期后多少天即关闭该账号
  • -g<群组>:修改用户所属的群组
  • -G<群组>:修改用户所属的附加群组
  • -l<账号名称>:修改用户账户名称
  • -L:锁定用户密码,使密码无效
  • -s:修改用户登入后使用的shell
  • -u:修改用户ID
  • -U:解除密码锁定

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

案例演示一

使用usermod命令修改用户名。

例如:在系统中已经存在一个用户名为oldUser的用户,由于某种原因,现在必须将其修改成newUser
在这里插入图片描述
首先使用finger命令查看用户newUser的登录目录为/home/oldUser,然后新创建一个/home/newUser,使用usermod将用户newUser的登录目录修改成/home/newUser,最后使用finger命令查看是否修改成功。


Linux用户组信息修改命令

Linux中使用groupmod命令来修改用户组信息

命令格式如下:

groupmod [命令参数] 参数

常见命令参数:

  • -g<群组识别码>:设置欲使用的群组识别码
  • -n<新群组名称>:设置欲使用的群组名称

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

案例演示

使用groupmod命令修改已有用户组名称:
在这里插入图片描述
首先通过tail命令查看一个已有的用户组信息,可以看到该用户组名为oldUser,并且组ID1004,通过groupmod命令将其名由oldUser修改成renameOldUser,最后使用tail查看是否修改成功。

编程要求

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

  • 将系统已有用户oldName名修改成newName
  • 将修改过后的newName用户的登录目录修改成系统已存在文件夹/home/newName
  • 将系统已有用户组oldGroup名修改成newGroup

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

评测说明

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

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


路在自己脚下,没有人可以决定我的方向。


#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#
# 将系统已有用户 oldName 名修改成 newName
usermod -l newName oldName
# 将修改过后的 newName 用户的登录目录修改成系统已存在文件夹 /home/newName
usermod -d /home/newName newName
# 将系统已有用户组 oldGroup 名修改成 newGroup
groupmod -n newGroup oldGroup
#************end**************#

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

Logo

更多推荐