utsudo 使用指南
本文档主要介绍utsudo
工具的安装和简单使用,帮助用户快速上手。utsudo
从参数功能到插件使用都是完全兼容sudo
,大大降低了用户的学习成本,欢迎大家使用。
本文档主要适用于utsudo
的开发人员、测试人员、以及普通用户。
utsudo 介绍
utsudo 诞生于 2022 年 6 月份,是一个目前正在进行的使用 Rust 语言重构 Sudo 的项目。utsudo 旨在提供一个更加高效、安全、灵活的提权工具,涉及的模块主要有:通用工具库、整体框架和插件功能等。
utsudo 安装
在0.0.1
版本中,utsudo
与sudo
还存在部分文件冲突。需要先使用yum
命令,把utsudo
的二进制rpm
包下载到本地,再使用rpm
命令进行安装 ,以允许与sudo
的文件冲突。
首先使用yumdownloader utsudo
命令下载utsudo
二进制包到本地。
然后使用sudo rpm -Uvh utsudo-0.0.1-0.01.x86_64.rpm --replacefiles
命令安装utsudo
,执行过程如下所示。
安装完成后,使用rpm -qa | grep utsudo
命令查看utsudo
是否正常安装,如下图所示。
由上图可知,utsudo
已正常安装,安装的版本是0.0.1-0.01
。
utsudo
后续还会有版本更新,大家以自己安装的版本为准。
utsudo使用
下面给大家介绍一下utsudo
的简单使用。
utsudo
参数较多,下面简单列出部分参数,详细内容可使用utsudo -h
列出。
-e, --edit 编辑文件而非执行命令
-k, --reset-timestamp 无效的时间戳文件
-l, --list 列出用户权限或检查某个特定命令;对于长格式,使用两次
-e
参数
-e
参数的功能:编辑文件。
utsudo -e
相当于sudoedit
命令,执行时会调用普通用户进行编辑,而位于调用用户可写目录中的文件是无法编辑的,除非该用户是root
用户。
在当前用户没有可写权限的目录e
中,存在一个当前用户没有可编辑权限的文件:test.txt
。使用普通用户编辑test.txt
文件,会提示没有权限。使用utsudo -e
后,可以正常编辑。具体执行过程如下图所示。
由上图可知,成功修改了test.txt
文件的内容。(其中utsudo -e is okay !!
,是我们在编辑器中自己添加的。)
-k
参数
-k
参数功能:使时间戳无效。
默认使用utsudo
执行命令时,第一次是需要输入密码的,短时间内(默认是5分钟)再次执行sudo
命令则不需要再次输入密码。使用-k
参数可以强迫使用者在下一次执行utsudo
时询问密码。
utsudo
输入密码后,默认5
分钟之内不需要输入密码。
但是,由上图可知,utsudo -k
使得utsudo
的时间戳失效了。
-l
参数
-l
参数功能:用于显示当前用户可以用utsudo
执行哪些命令。
执行过程如下所示:
上图显示了test
用户,可以运行如下命令:
(ALL) ALL
也就是所有命令,说明/etc/sudoers
文件中,并没有对test
用户做过多的限制。
utsudo
的使用,就简单介绍这些,除了上面介绍到的,utsudo
还有很多其他的功能和参数,此处就不一一列举了。欢迎大家讨论。