第 3 关——Linux用户权限切换

  • 任务描述
  • 相关知识
    • 图形化界面登录
    • 案例演示
    • 使用 login 命令登录
    • 案例演示
    • 使用 su 命令切换用户身份
    • 案例演示
  • 编程要求
  • 评测说明

任务描述

恭喜你已经顺利的通过了前两关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,以及如何修改一个用户的登录密码,接下来,我们一起学习不同用户之间的切换。Linux系统运行多个用户同时登录系统,也运行多个用户间的进行切换。Linux中使用whoami命令来查看当前登录系统的用户名。

本关的任务是新创建一个用户,并设置登录密码,然后登录新创建的用户。

相关知识

通过本关学习,你将掌握如下知识点:Linux用户登陆的三种方式

图形化界面登录
Linux中添加用户后,用户在图形界面登录系统的方式和Windows一样,都是选择要登录的用户后直接输入登录密码即可。

案例演示

  1. 添加一个新用户,并且设置登录密码,然后在图形界面登录。(因为我是root用户下操作,所以输入指令前面可以不加sudo)
[root@wxz ~]# useradd -m jjUser
[root@wxz ~]# passwd jjUser
更改用户 jjUser 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

使用 login 命令登录
login命令是让用户登录系统,可通过它的功能随时更换登入身份。当/etc目录里含名称为nologin的文件时,系统只允许root账号登入系统,其他用户一律不准登入。

当使用login命令登录系统后,可以使用logout命令或者exit命令来退出当前用户登录,返回到登录前的用户状态。
命令格式如下:

login [命令参数] 参数

参数为登录的用户名,可以不输入登录的用户名,直接输入login命令后回车,然后根据提示再输入用户名和密码。

常见命令参数

  • -p:告诉login指令不销毁环境变量
  • -h:指定远程服务器的主机名

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

案例演示

  1. 使用login命令来登录系统(文件/etc/nologin不存在)。
    首先查看当前登录的用户名是root
[root@wxz ~]# whoami
root
[root@wxz ~]#

使用jjUser用户来登录系统,然后查看当前登录的用户名:

[root@wxz ~]# login
wxz login: jjUser
Password:
[jjUser@wxz ~]$ whoami
jjUser
[jjUser@wxz ~]$ _

使用logout或者exit命令退出jjUser用户,然后在查看当前登录用户是否为root

[jjUser@wxz ~]$ logout
wxz login: root
Password:
[root@wxz ~]# whoami
root
[root@wxz ~]# _
  1. 使用login命令来登录系统(文件/etc/nologin存在)。
    首先查看当前登录的用户名是root
[root@wxz ~]# whoami
root
[root@wxz ~]# _

/etc/目录下新创建一个nologin文件,使用如下命令创建:

sudo touch /etc/nologin

使用普通用户jjUser来登录系统, 查看是否可以登录成功:

[root@wxz ~]# touch /etc/nologin
[root@wxz ~]# login
wxz login: jjUser
Password:Authentication failurewxz login: root
Password:[root@wxz ~]# whoami
root
[root@wxz ~]# _

发现使用jjUser用户登录时显示Authentication failure(验证失败),已经无法登录系统了,所以使用root用户才能登录系统。


使用 su 命令切换用户身份
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户账号的密码。

当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。

注:如果当前用户身份是root,则使用su命令切换到其他用户的时候不需要相应用户的密码

命令格式如下:

su [命令参数] 参数

参数为登录的用户名,如果没有参数,则默认切换为root用户。

常见命令参数

  • -c<指令>--command=<指令>:执行完指定的指令后,即恢复原来的身份
  • -l--login:改变身份时,也同时变更工作目录,以及HOME, SHELL, USER, logname。此外,也会变更PATH变量
  • -m,-p--preserve-environment:变更身份时,不要变更环境变量
  • -s<shell>--shell=<shell>:指定要执行的shell

su命令所有使用者都可以执行。

案例演示

  • 使用su命令切换当前用户身份(不改变当前工作目录):
    首先查看当前登录的用户名是root,当前工作目录是/root
[root@wxz ~]# whoami
root
[root@wxz ~]# pwd
/root
[root@wxz ~]#

切换当前用户为jjUser用户,然后查看当前用户身份和当前工作目录。

[root@wxz ~]# su jjUser
[jjUser@wxz root]$ whoami
jjUser
[jjUser@wxz root]$ pwd
/root
[jjUser@wxz root]$

使用exit命令退出jjUser用户,然后再查看当前登录用户身份和当前工作目录。

[jjUser@wxz root]$ exit
exit
[root@wxz ~]# whoami
root
[root@wxz ~]# pwd
/root
[root@wxz ~]#
  • 使用su命令切换当前用户身份(改变当前工作目录):
    首先查看当前登录的用户名是root,当前的工作目录是/root
[root@wxz ~]# whoami
root
[root@wxz ~]# pwd
/root
[root@wxz ~]#

切换当前用户名为jjUser用户,然后再查看当前用户身份和当前工作目录。

[root@wxz ~]# su - jjUser
上一次登录:三 8月 18 13:01:03 CST 2021pts/0 上
[jjUser@wxz ~]$ whoami
jjUser
[jjUser@wxz ~]$ pwd
/home/jjUser
[jjUser@wxz ~]$

使用exit命令退出jjUser用户,然后再查看当前登录用户身份和当前工作目录。

[jjUser@wxz ~]$ exit
登出
[root@wxz ~]# whoami
root
[root@wxz ~]# pwd
/root
[root@wxz ~]#

编程要求

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

  • 新创建一个用户newUser,并且设置登录密码
  • 使用su命令切换当前用户身份为zjUser,并且执行whoami指令,然后恢复原来的身份

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

评测说明

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

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


人的理想志向往往和他的能力成正比。


#!/bin/bash# 创建newUser新用户
#***********begin*************#
useradd newUser
#************end**************##在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
passwd newUser << EOF
121212
121212
EOF
#************end**************##使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份;
#提示使用su命令的-c参数完成
#***********begin*************#
su -c whoami newUser
exit
#************end**************#

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

Linux入门到精通:第 3 关——Linux用户权限切换(第二章:Linux之用户管理)相关推荐

  1. Linux入门到精通:第 1 关——创建/删除新用户(第二章:Linux之用户管理)

    第 1 关--创建/删除新用户 任务描述 相关知识 Linux创建用户命令 案例演示 Linux删除用户命令 案例演示 编程要求 评测说明 任务描述 恭喜你已经完成了Linux入门的实训,接下来让我们 ...

  2. Linux入门到精通

    Linux是什么? Linux是一套免费使用和自由传播的类Unix的的操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件,应用程序 ...

  3. 【 linux系统入门管理篇-第二章文件和用户的管理】

    linux系统入门管理篇-第二章文件和用户的管理 本章介绍 一.文件管理 (一).Linux目录结构 (二).文件管理 1.文件管理命令 2.文件类型 二.用户管理 (一).用户/组基本概念 (二). ...

  4. 第二章Linux 基本命令操作

    第二章Linux 基本命令操作 本节所讲内容: 2.1 Linux 终端介绍.Shell 提示符.Bash Shell基本语法: 2.2 基本命令操作: 2.3 系统时间管理: 2.4 帮助命令使用: ...

  5. linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作

    文档均来自网络,如有侵权请联系我删除文档 第二章 Linux 文件操作(4学时) 实验一文件属性和无缓冲I/O 实验目的 1.熟悉Linux文件系统属性控制 2.掌握不带缓存的文件I/O程序设计方法 ...

  6. 第二章Linux基础之共享文件设置

    第二章Linux基础之共享文件设置 一.Linux分区设置 Linux至少要分三个区,即根分区.boot分区和swap分区. 1.根分区 ​ 空闲的磁盘空间全部给根分区即可. 2.swap分区 ​ s ...

  7. Linux(b站视频兄弟连)自学笔记第十二章——Linux服务管理

    Linux(b站视频兄弟连)自学笔记第十二章--Linux服务管理 服务分类 RPM包安装服务的管理 独立服务的管理 基于xinetd 的服务管理 源码包服务管理 服务分类 RPM包安装服务的管理 独 ...

  8. 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略

    精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略 精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最 ...

  9. Linux入门到精通:第 1 关——创建/删除用户组(第二章:Linux之用户管理)

    第 1 关--创建/删除用户组 任务描述 相关知识 Linux创建用户组命令 案例演示一 案例演示二 Linux删除用户组命令 案例演示一 编程要求 评测说明 任务描述 恭喜你已经完成了Linux之用 ...

最新文章

  1. 站长新手入门:从0开始搭建微信小程序商城,不会代码也能开商城(附带源码)
  2. 使用create-react-app遇到问题解决方案汇总
  3. 【腾讯面试题】MySQL常用数据库引擎
  4. HTTPS 传参数(Query String)安全吗?
  5. matlab png转02,matlab把图片pgm格式转换成png格式
  6. 蜘蛛牌 HDU - 1584(搜索——达到先让某些段先结合,达最优解)
  7. 【转】什么是CT使用的水模、体模
  8. python requests get post_python+requests进行get、post方法接口测试
  9. vue 时间戳 格式转化(插件化) - 封装篇
  10. 【转】地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法 C语言
  11. 解决问题 xcrun: error: invalid active developer path
  12. 从入门到入土:基于C语言采用UDP协议实现通信功能的程序
  13. ICRoute 语音识别芯片/声控芯片 用声音去沟通 LD332X系列语音识别芯片
  14. 题解——洛谷P2827 NOIP提高组 2016 蚯蚓
  15. minio 文件服务器,5分钟解决SpringBoot集成minio文件服务器的过程
  16. 1200兆路由器网速_1200m路由器有必要吗 只要我们选择5GHz频段就可
  17. 中央处理器cpu主要由什么组成?
  18. (android文档原创翻译)管理Activity的生命周期一
  19. 各种抗锯齿效果的记录
  20. 拼图游戏-小程序游戏

热门文章

  1. 【宁波中软实习】Day2:JDBC的增删改查
  2. 如何提取OneDrive文件直链?
  3. 文件下载---ajax文件下载
  4. 用计算机做作业的检讨,计算机考试作弊检讨书1000字
  5. matlab——zeros函数
  6. Docker学习-Docker的版本介绍
  7. 社交电商再次升温, 无忧猴正掀起第三次零售革命
  8. 在外远程查看家里内网监控
  9. android制作扇形进度条,canvas绘制扇形进度条
  10. vue 中通过 ajax 生成form 下载表格