第 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用户信息修改命令
Linux
中usermod
命令是最强大的用户账号修改实用工具。
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
,并且组ID
为1004
,通过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从入门到精通喔!加油!年轻人!