服务器

版本:25.03

utsudo 使用指南

本文档主要介绍utsudo工具的安装和简单使用,帮助用户快速上手。utsudo从参数功能到插件使用都是完全兼容sudo,大大降低了用户的学习成本,欢迎大家使用。

本文档主要适用于utsudo的开发人员、测试人员、以及普通用户。

utsudo 介绍

utsudo 诞生于 2022 年 6 月份,是一个目前正在进行的使用 Rust 语言重构 Sudo 的项目。utsudo 旨在提供一个更加高效、安全、灵活的提权工具,涉及的模块主要有:通用工具库、整体框架和插件功能等。

utsudo 安装

0.0.1版本中,utsudosudo还存在部分文件冲突。需要先使用yum命令,把utsudo的二进制rpm包下载到本地,再使用rpm命令进行安装 ,以允许与sudo的文件冲突。

首先使用yumdownloader utsudo命令下载utsudo二进制包到本地。

然后使用sudo rpm -Uvh utsudo-0.0.1-0.01.x86_64.rpm --replacefiles命令安装utsudo,执行过程如下所示。

image-20230828094539717

安装完成后,使用rpm -qa | grep utsudo命令查看utsudo是否正常安装,如下图所示。

image-20230828094723153

由上图可知,utsudo已正常安装,安装的版本是0.0.1-0.01

utsudo后续还会有版本更新,大家以自己安装的版本为准。

utsudo使用

下面给大家介绍一下utsudo的简单使用。

utsudo参数较多,下面简单列出部分参数,详细内容可使用utsudo -h列出。

shell
-e, --edit                    编辑文件而非执行命令
-k, --reset-timestamp         无效的时间戳文件
-l, --list                    列出用户权限或检查某个特定命令;对于长格式,使用两次

-e 参数

-e参数的功能:编辑文件。

utsudo -e相当于sudoedit命令,执行时会调用普通用户进行编辑,而位于调用用户可写目录中的文件是无法编辑的,除非该用户是root用户。

在当前用户没有可写权限的目录e中,存在一个当前用户没有可编辑权限的文件:test.txt。使用普通用户编辑test.txt文件,会提示没有权限。使用utsudo -e后,可以正常编辑。具体执行过程如下图所示。

image-20230828135001624

由上图可知,成功修改了test.txt文件的内容。(其中utsudo -e is okay !!,是我们在编辑器中自己添加的。)

-k参数

-k参数功能:使时间戳无效。

默认使用utsudo执行命令时,第一次是需要输入密码的,短时间内(默认是5分钟)再次执行sudo命令则不需要再次输入密码。使用-k参数可以强迫使用者在下一次执行utsudo时询问密码。

image-20230828140355863

utsudo输入密码后,默认5分钟之内不需要输入密码。

但是,由上图可知,utsudo -k使得utsudo的时间戳失效了。

-l参数

-l参数功能:用于显示当前用户可以用utsudo执行哪些命令。

执行过程如下所示:

image-20230828140709441

上图显示了test用户,可以运行如下命令:

shell
(ALL) ALL

也就是所有命令,说明/etc/sudoers文件中,并没有对test用户做过多的限制。

utsudo的使用,就简单介绍这些,除了上面介绍到的,utsudo还有很多其他的功能和参数,此处就不一一列举了。欢迎大家讨论。