全站搜索 公开课 学习资料 未分类

RHCE培训课堂实验-14 指导练习-获取超级用户访问权限

系统技术 139

红帽系统管理1-学员练习册-06管理本地用户和组.pdf—P164

在本练习中, 您将练习切换到root帐户,以及以root身份运行命令。

目标:

使用sudo切换到root, 并以root身份访问交互式shell,而不必知道超级用户的密码。

解释susu – 可以如何通过运行或不运行登录脚本来影响shell环境。

使用sudoroot身份运行其他命令。

练习准备工作:

student用户身份并使用student作为密码登录workstation

workstation上,运行lab users-sudo start脚本来开始本练习。此脚本会创建必要的用户帐户和文件,以正确设置环境。


[student@workstation ~]$ lab users-sudo start
 

1workstation, 以student用户身份打开连接serveraSSH会话。


[student@workstation ~]$ ssh student@servera
 

2 探索studentshell环境。查看当前的用户和组信息,并显示当前的工作目录。此外,还要查看指定用户主目录的环境变量以及用户可执行文件的位置。

2.1 运行过来查看当前的用户和组信息。

2.2 运行pwd以显示当前的工作目录。

2.3 显示HOMEPATH变量的值,以分别确定主目录和用户可执行文件的路径。


[student@servera ~]$ id
[student@servera ~]$ pwd
[student@servera ~]$ echo $HOME
[student@servera ~]$ echo $PATH
 

3 在非登录shell中切换到root , 并探索新的shell 环境。

3.1 在shell提示符下运行sudo su, 变为root用户。


[student@servera ~]$ sudo su
 

3.2 运行过来查看当前的用户和组信息。

3.3 运行pwd 以显示当前的工作目录。

3.4 显示HOMEPATH变呈的值,以分别确定主目录和用户可执行文件的路径。

3.5 从root用户的shell退出,以返回到student用户的shell


[root@servera ~]# id
[root@servera ~]# pwd
[root@servera ~]# echo $HOME
[root@servera ~]# echo $PATH
[root@servera ~]# exit
 

注意:

如果您已有一些Linuxsu命令相关的经验,您可能会预计到, 不带短划线(-)选项使用su来变为root会导致您保留student的当前PATH。这并未发生。正如您在下一步中所见,这也不是root 的正常PATH

发生了什么情况?差别在于您没有直接运行su。相反,您使用sudoroot身份运行了su, 因为您没有学握超级用户的密码。出于安全方面的原因,sudo命令最初覆盖来自初始环境的PATH。在初次覆盖之后运行的任何命令仍然可以更新PATH变量,您会在后续步骤中看到这一点。

4 在登录shell中切换到root, 并探索新的shell环境。

4.1 在shell 提示符下运行sudo su – ,变为root用户。

注意:

shell提示符与上—步中sudo su的相比的区别。

sudo可能会提示您输入student密码,也可能不提示,这取决于sudo的超时期限。默认的超时期限是五分钟。如果您在最近五分钟内通过sudo的身份验证, sudo不会提示您输入密码。如果自您通过sudo的身份验证起已超过五分钟,您需要输入student作为密码以通过sudo的身份验证。

4.2 运行过来查看当前的用户和组信息。

4.3 运行pwd以显示当前的工作目录。

4.4 显示HOMEPATH变虽的值,以分别确定主目录和用户可执行文件的路径。

4.5 从root 用户的shell 退出,以返回到student 用户的shell


[student@servera ~]$ sudo su -
[root@servera ~]# id
[root@servera ~]# pwd
[root@servera ~]# echo $HOME
[root@servera ~]# echo $PATH
[root@servera ~]# exit
 

如前—步中所见,在sudo重置了student用户shell环境设置的PATH变量后,su – 命令运行了rootshell登录脚本,并将PATH变量设置为另一个值。如果不带短划线(-)选项,su命令不会那么做。

5 验证operator1用户是否配置为可利用sudo以任何用户身份运行任何命令。


[student@servera ~]$ sudo cat /etc/sudoers.d/operator1
 

6 变为 operator1 ,再查看 /var/log/messages 的内容。将 /etc/motd 复制到 /etc/motdOLD , 并将它删除(/etc/motdOLD)。这些操作需要管理权限,因此请使用sudo以超级用户身份运行这些命令。不要使用sudo susudo su – 切换到root。使用redhat作为operator1的密码。

6.1 切换到operator1


[student@servera ~]$ su - operator1
 

6.2 尝试查看/var/log/messages的最后五行,但不使用sudo 。这应该会失败。


[student@servera ~]$ tail -n5 /var/log/messages
  

6.3 尝试使用sudo来查看/var/log/messages的最后五行。这应该会成功。


[student@servera ~]$ sudo tail -n5 /var/log/messages
 

6.4 尝试为/etc/motd制作副本/etc/motdOLD, 但不使用sudo。这应该会失败。


[student@servera ~]$ cp /etc/motd /etc/motdOLD
 

6.5 尝试使用sudo来为/etc/motd制作副本/etc/motdOLD。这应该会成功。


[student@servera ~]$ sudo cp /etc/motd /etc/motdOLD
 

6.6 尝试删除/etc/motdOLD, 但不使用sudo。这应该会失败。


[student@servera ~]$ rm  /etc/motdOLD
 

6.7 尝试使用sudo来删除/etc/motdOLD。这应该会成功。


[student@servera ~]$ sudo rm  /etc/motdOLD
[student@servera ~]$ ls !$
 

6.8 从operator1用户的shell退出,以返回到student用户的shell

6.9 从servera注销。


[student@servera ~]$ 
[student@servera ~]$
 

完成

workstation上,运行lab users-sudo finish来完成本练习。此脚本将删除在练习开始时创建的用户帐户和文件,以确保环境清理干净。


[student@workstation ~]$ lab users-sudo finish
 

本引导式练习到此结束。

扫码添加教务-杨老师微信号,备注“红帽”,可免费领取实验环境和完整的PDF技术资料。

上一篇: 下一篇:

相关推荐

展开更多
1
点击联系客服咨询!咨询电话:0756-2180090