第1关:创建/删除新用户
任务描述
恭喜你已经完成了Linux
入门的实训,接下来让我们一起来学习Linux
中用户的管理,本关主要讲解如何在Linux
中创建和删除用户。
本关的任务是新创建一个用户,并将一个已经存在的用户删除掉。
相关知识
为了完成本关任务,你需要掌握如下知识:
Linux
创建用户命令Linux
删除用户命令
Linux创建用户命令
Linux
中使用useradd
命令来创建一个新用户。
命令格式格式:useradd [命令参数] 参数
常见命令参数:
- -d<登入目录>:指定用户登入时的启始目录;
- -D:查看或变更预设值;
- -g<群组>:指定用户所属的群组;
- -m:自动建立用户的登入目录;
- -M:不要自动建立用户的登入目录;
- -s:指定用户登入后所使用的
shell
。
useradd
必须以root
权限才能执行,如果是普通用户想创建一个新用户时,需要在命令前加sudo
命令来提升权限为root
权限。
案例演示
1 . 查看useradd
系统默认属性值,使用命令useradd -D
。
笔者使用的系统是Ubuntu16.04
,useradd
系统默认值如下所示:
参数 | 说明 |
---|---|
GROUP | 指新创建的用户将被添加到用户组ID为100的公共用户组中 |
HOME | 指新创建的用户将在/home目录下创建一个HOME账户 |
INACTIVE | 指当密码逾期时,用户将不会被禁用 |
EXPIRE | 指新创建的用户不会在设定日期被设置为逾期 |
SHELL | 指新创建的用户使用/bin/sh(也就是bash)作为默认shell |
SKEL | 指系统会将/etc/skel目录中的内容复制到新创建的用户的HOME目录 |
CREATE_MAIL_SPOOL | 指系统不会在邮件目录中创建一个文件用于新创建用户账户接受邮件 |
2 . 使用useradd
命令新创建一个用户test
,并且自动建立用户的登入目录。
在背景介绍中,我们了解到,Linux
中用户信息是保存在/etc/passwd
文件中,我们可以使用命令tail /etc/passwd
命令查看/etc/passwd
文件最后10行中是否存在刚刚新创建的test
用户信息。
Linux删除用户命令
Linux
中使用userdel
命令来删除一个已经存在的用户。
命令格式:userdel [命令参数] 参数
常见命令参数:
- -f:强制删除用户,即使用户当前已登录;
- -r:删除用户的同时,删除与用户相关的所有文件。
userdel
必须以root
权限才能执行,如果是普通用户想使用该命令时,需要在命令前加sudo
命令来提升权限为root
权限。
案例演示
1 . 使用userdel
命令删除一个已经存在的用户test
,并且自动删除其家目录文件。
因为系统默认是不会给新创建的用户自动创建一个文件夹用于用户账户接收邮件,所以在使用userdel -r
命令删除的时候会提醒/var/mail/test
文件夹不存在。
编程要求
根据右侧窗口命令行内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
- 新创建一个用户
newUser
,并自动创建其登录目录; - 删除系统已经存在的用户
oldUser
,并自动删除其关联的登录目录; - 将当前工作目录切换到新创建的用户
newUser
家目录; - 使用
pwd
命令打印出当前工作目录。
注意:本平台执行环境默认以root
账户登录,所以执行的所有命令都是以root
权限执行。
评测说明
补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
开始你的任务吧,祝你成功!
人若有志,万事可为!
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
useradd -m newUser
userdel -r oldUser
cd /home/newUser
pwd
#************end**************#
第2关:Linux 用户密码管理
#!/bin/bash
#创建newUser新用户
#***********begin*************#
useradd -m newUser
#************end**************#
#在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
passwd newUser <<EOF
123456
123456
EOF
#************end**************#
第3关:Linux用户权限切换
#!/bin/bash
#创建newUser新用户
#***********begin*************#
useradd -m newUser
#************end**************#
#在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
passwd newUser << EOF
123456
123456
EOF
#************end**************#
#使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份;
#提示使用su命令的-c参数完成
#***********begin*************#
su -c whoami newUser
#************end**************#