赞
踩
恭喜你已经顺利的通过了前两关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,以及如何修改一个用户的登录密码,接下来,我们一起学习不同用户之间的切换。Linux
系统运行多个用户同时登录系统,也运行多个用户间的进行切换。Linux
中使用whoami
命令来查看当前登录系统的用户名。
本关的任务是新创建一个用户,并设置登录密码,然后登录新创建的用户。
通过本关学习,你将掌握如下知识点:Linux
用户登陆的三种方式
图形化界面登录
Linux
中添加用户后,用户在图形界面登录系统的方式和Windows
一样,都是选择要登录的用户后直接输入登录密码即可。
案例演示
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
权限。
案例演示
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 ~]# _
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 failure
wxz 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从入门到精通喔!加油!年轻人!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。